[-1] = [10000001]原 = [11111110]反 = [11111111]补
5.原码补码转换
原码转补码:正数不变;负数符号位保持,其余位取反,最后加1。
补码转原码:正数不变;负数符号位保持,其余位取反,最后加1。
6.为什么要使用补码
1 - 1 的运算:
原码:-2错误
1-1 = 1+(-1)=(00000001)原 + (10000001)原 = (10000010)原 =(10000010)原 = -2
反码:-0错误 1-1 = 1+(-1)=(00000001) 反+ (11111110)反 = (11111111)反 = -0 补充:2个字节情况下,在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个 补码:0正确 1-1 = 1+(-1)=(00000001) 补+ (11111111)补 = (00000000)补 = 0