原码 反码 补码 移码 的换算

原码  反码 补码 移码的换算关系

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

posted @ 2017-08-31 15:38  平林漠漠  阅读(1956)  评论(0)    收藏  举报