二、原码、反码、补码、移码的表示
2.1原码的表示
原码的表示,是将最高位作为符号位,正数用0表示,负数用1表示,剩下的数为该数的绝对值。即,若原码由N位二进制数表示,则其最高位表示符号位,剩余N-1位表示该数的绝对值。
例:(+1)(-1)的原码(原码由八位二进制数表示)
(+1)=00000001(原)
(-1)=10000001(原)
需要注意的是,0的原码表示有两种,以八位二进制为例:
(+0)=00000000(原)
(-0)=10000000(原)
在用原码进行计算时,需要首先判断其符号,才能进行相关的计算。
2.2反码的表示
在原码的基础上去表示反码,原码为正数,反码与原码相同,原码为负数,反码与原码的符号位相同,都取1,其他位取反。
例:以八位二进制数为例
01110111(原)=01110111(反)
10101010(原)=11010101(反)
2.3补码
在原码的基础上表示补码,原码为正数,补码与原码相同,原码为负数,补码的符号位与原码相同为1,其他位取反再加1,即反码加1。
例:以八位二进制为例
01110111(原)=01110111(反)=01110111(补)
10101010(原)=11010101(反)=11010110(补)
2.4移码
移码为补码的符号位取反