- 2021-02-07 13:02
*views 4*- Java
- c language
- Linux
- C++
- data structure
- Complement

<> Storage of data in integers

1. Source code , Inverse code , Complement

First, let's look at the original code , Inverse code , The concept of complement :

There are three ways to express the signed number in computer , That is the original code , Inverse and complement .

The three methods have two parts: sign bit and numerical bit , The sign bit is used 0 express “ just ”, use 1 express “ negative ”, However, the three representation methods of numerical bit are different .

Original code :

The binary can be translated into binary directly according to the form of positive and negative numbers .

Inverse code :

Keep the sign bit of the original code unchanged , The other bits can be obtained by negating them in turn .

Complement :

Inverse code + 1 Get the complement

be careful ： The highest bit is the sign bit , The primitive of positive numbers , back , All complements are the same .

For plastic surgery ： The data stored in memory is actually the complement code .

int main() { int a = 20; //00000000000000000000000000010100- Source code , Inverse code , Complement // Change to hexadecimal sequence

//0x000014 int b = -10; //10000000000000000000000000000000- Source code

//11111111111111111111111111110101- Inverse code //11111111111111111111111111110110- Complement

//fffffff6 return 0; }

a Memory for

b Memory for

We can see that the complement is stored in the memory , We will talk about the order in memory later .

<> Byte order

Introduction to big and small end :

Large end byte order storage pattern , The low byte of data is stored in the high address of memory , And the high level of the data , Stored in the low address of memory ;

Small end byte order storage pattern , The low byte of data is stored in the low address of memory , And the high level of the data ,, Stored in a high address in memory .

Exercises

Determine the byte order of the computer

int main() { int a = 1; char *p = (char*)&a; if (*p == 1) { printf(" Small end "); }

else { printf(" Big end "); } return 0;

Print the following numbers as integers

int main() { char a = -1; //1000000000000000000000000000001- Source code

//1111111111111111111111111111110- Inverse code //1111111111111111111111111111111- Complement

//11111111-a // It is also printed as an integer , integral promotion , Complement by sign 1 //1111111111111111111111111111111

//1111111111111111111111111111110 //1000000000000000000000000000001 //-1 signed

char b = -1; unsigned char c = -1; //11111111-c // Lifting of unsigned bit integers , High compensation 0

//0000000000000000000000011111111 printf("%d %d %d", a, b, c); return 0; }

be careful ： The same is true for the source complement of an unsigned integer .

algebraic addition

int main() { int i = -20; unsigned int j = 10;

//10000000000000000000000000010100- Complement //11111111111111111111111111101011- Inverse code

//11111111111111111111111111101100- Source code //00000000000000000000000000001010

//11111111111111111111111111110110//i+j //11111111111111111111111111110101// Inverse code

//10000000000000000000000000001010 printf("%d", i + j); return 0; } int main() {

char a = -128; //1000000000000000000000010000000

//1111111111111111111111101111111 //1111111111111111111111110000000 //10000000-a

//%u- Signed integer //1111111111111111111111110000000- Complement // //%u unsigned int printf("%u\n", a);

return 0; } #include<stdio.h> int main() { char a[1000]; int i; for(i=0; i<1000;

i++) { a[i] = -1-i; } printf("%d",strlen(a)); return 0; }

Technology

- Python180 blogs
- Java171 blogs
- Vue92 blogs
- Flow Chart80 blogs
- algorithm54 blogs
- C++51 blogs
- javascript48 blogs
- MySQL46 blogs
- more...

Daily Recommendation

©2020-2021 ioDraw All rights reserved

Java project ： CET-4 and CET-6 online examination information website （java+ssm+mysql+maven）【iOS】 How to give UICollectionView add to headerView14:00 interview ,14:08 Just came out , The question is too much ...jquery Detailed explanation of method properties Shopping in Ali 8 In, he sorted out his study notes , Helped 10 A friend got it offer How to solve the synchronization delay problem of database read-write separation ? Predicting future stock trend with deep learning algorithm centos Which version works well _CentOS VS Ubuntu, Who is better Linux edition ? be based on LSTM Detailed explanation of stock forecasting algorithm In Ali 10 year Java My cousin came back from vacation , After chatting, I realized everything