依然是为了避开那些繁琐复杂晦涩的概念与术语,为了确保能清晰的梳理它们之间的关系,现分为两部分说明

1. 机器数 是 正数  符号位为0

原码 = 反码 = 补码

eg:机器码长度为8,求X(6)10原码 反码 补码 移码

[X]原 = 00000000+110=00000110

[X]补=[X]反=[X]原 =00000110

[X]移=10000110

(绿色为符号位)

2.机器数 是 负数 符号位为1

反码 = 原码(符号位除外)各位取反而得到

 补码 = 原码(除符号位外)各位取反,并在未位1而得到

eg:机器码长度为8,求X(-6)10原码 反码 补码 移码

[X]原 = 10000000+110=10000110

[X]补=11111001 +1=11111010

[X]反=11111001

[X]移=01111010

(绿色为符号位)

=============================

移码 = 补码的符号位直接取反

=============================

应用示例

已知补码 求原码

原码 = 补码取反加1 (符号位除外)

[X]补=1101001  求[X]原。

[X]原 = 1010110+1 =1010111

总结:在换算过程中符号位始终保持不变(移码除外)。依然高端大气上档次!

 

如果有错误敬请指出,反正我也不一定改!

版权声明:本文为seer原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/seer/p/3395888.html