1.整数在内存中的存储
整型数据的二进制表示方式有三种,原码,补码以及反码。
三种表示方式都有符号位和数值位,符号位用“0”来表示正,用“1”来表示负,而最高位就是符号位,其余都是数值位。
正整数的原码,补码,反码都相同;
负整数的原码,补码,反码都不相同;
原码:将原来数值按照正负数的形式来翻译成二进制就可以得到。
反码:将原码的符号位不动,其他位按位取反。
补码:反码+1。
对于整数来说,数据存在内存中其实就是存补码;
2.大小端字节序和字节序判断
我们了解整数在内存中的存储之后,让我们来看一段代码:
#include<stdio.h>
int main()
{
int a = 0x11223344;
return 0;
}
我们打开内存监视器,可以看到,a中的0x11223344是以字节为单位,倒着存储的。早上为什么呢?