【软考】——原码、反码、补码、移码

    在计算机中,数据编码方式可以有多种,最为常见的有原码、反码、补码、移码。在进行原码,反码,补码,移码之间的转换的时候首先要将他们转换为二进制,在下面的讲解中以17为例来进行讲解。

将17转换为八位数的二进制为00010001。



【原码】

     在原码中,将最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式,正数的原码是本身,负数的原码只需将最高符号位改为1即可。

例:+17

       

例:-17



【反码】

正数的反码与原码相同,负数的反码符号位为1,其余各位为该数绝对值的原码按位取反即可。

+17的反码:


-17的反码:



【补码】

正数的补码与原码相同,负数的补码该数的反码加1


-17的补码:



【移码】

移码是对补码的符号位取反得到的一种编码,只适用于浮点数的阶码,所以只适用于整数。



总结:

        现在是专项复习阶段,这部分知识是计算机硬件基础知识的数据表示,只要耐心细心,通过一个数值,把它的原码,反码,补码,移码写一下就可以搞定。 

原文地址:https://www.cnblogs.com/chenxiaochan/p/7237606.html