美文网首页测试理论
【软考路上】——原码、反码、补码、移码

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

作者: 梦小琪 | 来源:发表于2019-08-22 20:25 被阅读1次

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

           各种数值在计算机中的表示形式称为机器数,机器数采用二进制数来表示数据,数据的正负号也分别用0和1来表示。为了便于运算,带符号的机器数可采用原码、反码、补码、移码等编码方法。             

    注:以下规则均以机器字长为8(即采用8个二进制位来表示数据)来举例说明。

    原码

           ⊙正数:如下图①先写上要表示的数据,②符号位(首位)写上0,③如果有空位则用0补上,如X=22=10110B,则[X]原=00010110;

           ⊙负数:如下图①先写上要表示的数据,②首位写上1,③如果有空位则用0补上,如X=-27=-11011B,则[X]原=10011011。

    反码

           ⊙正数:反码等于原码,如X=10110,则[X]反=[X]原=00010110;

           ⊙负数:如下图,在原码的基础上,④符号位(首位)不变,⑤其他位按位取反(0变成1,1变成0),如X=-11011,则[X]原=10011011,[X]反=11100100。

    补码 

           ⊙正数:补码等于原码和反码,如X=10110,则[X]补=[X]反=[X]原=00010110;

           ⊙负数:在反码的基础上,⑥让反码加1,如X=-11011,则[X]原=10011011,[X]反=11100100,[X]补=11100101。

    移码

           正数和负数的移码,都是在反码的基础上,让反码的符号位取反,即得该数的移码。如X=-11011,则[X]原=10011011,[X]反=11100100,[X]补=11100101,[X]移=01100101。

           补充:小数的原码、反码、补码、移码的转换

           原码、反码、补码、移码这几种表示方式之间的转换,基本上只有正数和负数转换的时候有些差别,当遇到小数时,只需要把小数也表示为二进制,转换方式跟正数一样。如X=0.25=0.01,[X]原=0.0100000,[X]反=0.1011111,[X]补=0.1100000,[X]移=1.1100000。

    相关文章

      网友评论

        本文标题:【软考路上】——原码、反码、补码、移码

        本文链接:https://www.haomeiwen.com/subject/btwosctx.html