原码、反码、补码、移码的表示

 若字长n为8时,那么45的二进制表示0 0101101  ,若数值X

1.原码 [X]原,在二进制数值中,正数保持不变,负数符号位置1.

2.反码 [X]反,的正数保持不变 , 负数对数值的绝对值每一位按位求反

3.补码 [X]补,的正数不变,负数在反码末位加1

4.移码 [X]移, 在偏移2^(n-1)情况下,在补码的基础上首位取反 。在偏移 N 的情况下 移码=真值 + 偏移量

 例如:其中 ♦ 代表小数点位置
   +1 =   0 0000001(原) = 0 0000001(反) = 0 0000001(补) = 1 0000001(移)

   -1  =  1 0000001(原) = 1 1111110(反) = 1 1111111(补) = 0 1111111(移)

   +45 =0 0101101(原) =0 0101101(反) =0 0101101(补) =1 0101101(移)

   -45 = 1 0101101(原) =1 1010010(反) =1 1010011(补) =0 1010011(移)

  +127 =0 1111111(原) =0 1111111(反) =0 1111111(补) =1 1111111(移)

扫描二维码关注公众号,回复: 13394533 查看本文章

 -127 =1 1111111(原) =1 0000000(反) =1 0000001(补) =0 0000001(移)

+0.5 =0♦1000000(原)=0♦1000000(反) =0♦1000000(补) 

-0.5 =1♦1000000(原)=1♦0111111(反) =1♦1000000(补) 

浮点数 的IEEE 754表示:

在十进制中,83.125 可以写成 10^3 × 0.083125  也可以写成 01010011.001 及 2^6 ×1.010011 .在N = 2^E × F  形式中, E称之为 阶码  ,F 称为 尾数。 工业  IEEE 754  表示格式为

   (-1) ^S    2^E   (b0 b1 b2 b3 .... )     ,其中(-1) ^S  表示数符, S为0为正数,1 为负数

参数   单精度  双精度
字长 32 (4字节) 64 (8字节)
尾数长度 23 52
指数长度 8 11
指数偏移量  +127  +1023
可表示的数值范围 10^-38 ~10^38 10^-308 ~10^308

在  IEEE 754  表示中 ,阶码  = 指数  + 偏移量   ,尾数表示成 b0 b1 b2 b3 ......其中b0为1,表示时省略。

对于 单精度的   83.125 ,表示成  2^6 ×1.010011  , 指数为6 , 单精度的偏移量为 127(即2^7 -1)所以,阶码为  6+127   =133   =( 10000101)  尾数 为1♦01001100000000000000000 ,把小数点省去得到 IEEE754表示法中的 83.125 表示 为:

        0   10000101  01001100000000000000000

对于 单精度 176.0625  的IEEE 754 表示: 

1)首先转成二进制  

         (176.0625)_{10} = (10110000.001)_{2}

2)规格化处理

      10110000.0001 =  1♦01100000001  ×   2^7

3)阶码

    指数为7,单精度的偏移量127,所以阶码 在 指数7上加127,  E=7+127 = 134 ,阶码即为指数的阶码:  10000110 .

    最后,可得到   0 10000110 01100000001000000000000

猜你喜欢

转载自blog.csdn.net/superSmart_Dong/article/details/121548418