计算机原理与基础 —— 原码、反码、补码之间的快速转换和简单运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42167759/article/details/85788375

正整数的原码、反码和补码是一样的,即看到符号位(第一位)是0,就可以照着写出其他两种码。下面讲解负数的情况

1、原码转换为反码:符号位不变,数值位分别“按位取反” 

2、反码转换为原码也是一样:符号位不变,数值位分别“按位取反” 

3、原码转换为补码:符号位不变,数值位按位取反,末位再加1

4、补码转换为原码:符号位不变,数值位按位取反,末位再加1。

即补码的补码等于原码

5、求(变),即已知[X]补,求[-X]补 。符号位和数值位都取反,末位再加1

 总结一下:

        正数部分:

  1.       正整数的原码、反码和补码都一样;

    负数部分:

         原码和反码的相互转换:符号位不变,数值位按位取反

         原码和补码的相互转换:符号位不变,数值位按位取反,末位再加1

         已知补码,求原码的负数的补码:符号位和数值位都取反,末位再加1

  2. 参考连接:https://jingyan.baidu.com/article/48b37f8ddb08be1a65648875.html

猜你喜欢

转载自blog.csdn.net/weixin_42167759/article/details/85788375