原码、反码、补码。
1. 原码
将数字转换成二进制即为原码
2. 反码(原码符号位不变,其他位取反)
正数------反码与原码相同
负数------对正数逐位取反,符号位保持为1
3. 补码(反码+1)
正整数-----补码是其二进制表示,和原码一样
负数-------补码是除符号位以外的所有位取反后加 1
补充:4个字节 = 32个比特位
为什么要用补码?
计算机本身只能进行二进制加法进行计算,故科学家们想到了用补码形式把+-法统一为+。
例如1+(-1)
//+1
00000000000000000000000000000001 //原码
01111111111111111111111111111110 //反码
01111111111111111111111111111111 //补码
//-1
10000000000000000000000000000001 //原码
11111111111111111111111111111110 //反码
11111111111111111111111111111111 //补码
//两个补码相加溢出一位,不显示
1|00000000000000000000000000000000(实际显示)