【软考】——原码、反码、补码、移码
在计算机中,数据编码方式可以有多种,最为常见的有原码、反码、补码、移码。在进行原码,反码,补码,移码之间的转换的时候首先要将他们转换为二进制,在下面的讲解中以17为例来进行讲解。
将17转换为八位数的二进制为00010001。
【原码】
在原码中,将最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式,正数的原码是本身,负数的原码只需将最高符号位改为1即可。
例:+17
例:-17
【反码】
正数的反码与原码相同,负数的反码符号位为1,其余各位为该数绝对值的原码按位取反即可。
+17的反码:
-17的反码:
【补码】
正数的补码与原码相同,负数的补码该数的反码加1
-17的补码:
【移码】
移码是对补码的符号位取反得到的一种编码,只适用于浮点数的阶码,所以只适用于整数。
总结:
现在是专项复习阶段,这部分知识是计算机硬件基础知识的数据表示,只要耐心细心,通过一个数值,把它的原码,反码,补码,移码写一下就可以搞定。