要点:
1、数字在计算机中都是以二进制补码的形式存储的。
2、有符号数:首位为符号位,0为正数,1为负数。
3、正数:原码 = 反码 = 补码
4、负数:反码 = 原码按位取反,符号位不变;补码 = 反码+1,符号位不变
5、用 -0 表示负数最小值
6、通过补码获取原码:补码的补码是原码。
7、补码直观效果:可以通过1的个数判断原码数值大小
正数符号位0,补码表示数值越大,1越多,1 补码 0001,正数里最小的
负数符号位1,补码表示数值越大,1越多,-1 补码 1111,负数里最大的
举例:
四比特表示范围:
无符号:0~128 128 原码1111 反码1111 补码1111
0 原码0000 反码0000 补码0000
有符号:-128~127 1 原码0001 反码0001 补码0001
127 原码0111 反码0111 补码0111
-127 原码1111 反码1000 补码1001
-0 原码1000 反码1111 补码1000 正数最大值127+1,会变成最小值-128
-1 原码1001 反码1110 补码1111 即0xF,全F是补码表示的-1,全F再加一,为0000 即0
int 表示范围:- 2^4 ~ ( 2^4 - 1)