原码 反码 补码 移码的换算关系
1. 机器数 是 正数 符号位为0
(整数)原码 = 反码 = 补码
eg:机器码长度为8,求X(6)10原码 反码 补码 移码
[X]原=00000110
[X]反=00000110
[X]补=00000110
[X]移=10000110
(绿色为符号位)
2.机器数 是 负数 符号位为1
(负数)反码 = 原码(符号位除外)各位取反而得到
(负数)补码 = 原码(除符号位外)各位取反,并在未位加1而得到
(负数)补码 = 反码+1
eg:机器码长度为8,求X(-6)10原码 反码 补码 移码
[X]原 = 10000110
[X]反 = 11111001
[X]补 = 11111001 +1
= 11111010
[X]移 = 01111010
(绿色为符号位)
=============================
(负数)移码 = 补码的符号位直接取反
=============================
应用示例
已知补码 求原码
(负数)原码 = 补码取反(符号位除外)+1
[X]补=1101001 求[X]原。
[X]原=1010110+1 =1010111
(绿色为符号位)
参考路径:http://www.cnblogs.com/seer/archive/2013/10/30/3395888.html