2020-06-29

2020-06-30  本文已影响0人  凉小枫

原码反码补码


1.对计算机中常见数据简单分类

数据分类

机器数:就是数值在计算机中的二进制表现形式;

               最高位表示符号,使用0表示正,使用1表示负;

                一个字节8个bit位表示。

  例如:+5=0000 0101

             -10=1000 1010

真值: 1000 1010=-10

机器数所表示的真正的数值

2.原码

符号位加上真质的绝对值

正数:+2=0000 0010

+5=0000 0101

负数-7

          1000 

练习

34=0010 0010

-29  =  1001  1101

-19=1001 0011

-128=1000 0000

3.反码

正数的反码=原码

+3=0000 0011【正=反】

负数:符号位不变,其余各位直接取反-7

原=1000 0111

反=1111 1000

练习:

-33=10100001——11011110

-37=10100101——11011010

-49=10110001——11001110

4.补码

正数:不变

负数:-17=1001  0001

                    1110  1110

最低位加一  1110 1111{补码}

-34=1010 0010——11011101——1101 1111

-29=1001 1101——1110 0010——11100011

-47=1010 1111——1101 0000——1101 0001

5.运算器:只有加法器,没有减法

运用反码计算1-1

0000 0001

1111 1110

11111111

1000 0000=-0=+0

补码计算1-1

0000 0001【1补码】

1111 1111【-1补码】

0000 0000【0】

高位溢出

6.为什么需要反码和补码

反码:在计算机的时候,只有加法器,,没有减法器,为了将减法转化为加法,设计反码;

但是反码与缺陷,正负相加0的表示不唯一

45-19=0010 1101= 0010 1101=            0001 1001

            1001  0101=1110 1010

53-27=0011 0101=0011 0101=00011010

            1001 1011=1110 0101

65-34=                      0100 0001=0001 1111

              1010 0010=1101 1110

-34-27=1010 0010 =1101 1110=1100 0011

                                    1110 0101

                                    1100 0011

补码:为了解决负数计算,使其高位溢出

7.补码换成原码计算方法

正数:不变

负数:求补码的补码

将负数的补码当做原码,然后求该原码的补码

计算规则:符号位不变,其余各位直接取反,然后加一

1101 1110 =1010 0010=-34

1001 1011=1110 0101

1110 0011=1001 1101

1001 0011=1110 1101

-128

1111 1111 1000 0000补码

1000 0000 0111 1111取反

1000 0000 1000 0000原码

上一篇下一篇

猜你喜欢

热点阅读