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

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]补 = 11111010= 11111001 +1  

[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:54  平林漠漠  阅读(1476)  评论(0编辑  收藏  举报