二进制的原码,反码,补码,移码之间的相互转换

二进制最高位为符号位,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