原码(用户的角度):原始的二进制
正负数
最高位为符号位,0 代表正数 1代表负数
原码存储导致的问题:
1. 0有两种存储方式 00000000(0) 10000000(-0)
2. 正数和负数的相加结果不正确 (00000001 + 10000001 = 10000010)
反码(解决运算问题):原码的符号位不变,其他位取反
正数的原码和反码一致
反码存储的问题:
0 依然有两种存储方式 00000000(0) 11111111(-0)
补码:计算机存储数字以补码的形式存储(为了解决负数的存储)
1.正数的原码、反码、补码一致
2.负数的补码 = 反码+1(补码求原码:反码+1)