二进制的原码,反码,补码,移码之间的相互转换
二进制最高位为符号位,0
为正数,1
为负数。
正数的原码和反码和补码一致。
负数的反码 = 原码除了最高位(符号位)全部取反。
负数的补码 = 反码+1。
移码 = 补码的最高位(符号位)取反。
-0
原码:1000 0000
-0
反码:1111 1111
-0
补码:0000 0000
-0
移码:1000 0000
+0
原码:0000 0000
+0
反码:0000 0000
(正数反码和原码相同)+0
补码:0000 0000
(正数补码和原码相同)+0
移码:1000 0000
-1
原码:1000 0001
-1
反码:1111 1110
-1
补码:1111 1111
-1
移码:0111 1111
+1
原码:0000 0001
+1
反码:0000 0001
(正数反码和原码相同)+1
补码:0000 0001
(正数补码和原码相同)+1
移码:1000 0001