整数在计算机中是用二进制存储的,而且是将整数转化为二进制的补码,即存储的是补码。最高位是表示数值的正负,0为正1为负,正数不够的位置用0补全,负数取补码
例如:
计算机中存一个字节的 1:
0(符号位)000000(补足的0) 1(1的二进制值)
(这里正数存的其实也是补码,不过正数的补码是他本身)
所以计算机就存: 00000001
计算机中存一个字节的 -1:
先取+1的值
0(符号位)000000(补足的0) 1(1的二进制值)
取反:
1(取反) 111111(取反) 0(取反)
取补码:
1 111111 1(补码是反码+1)
所以计算机就存: 11111111