美文网首页
2020-06-29

2020-06-29

作者: 凉小枫 | 来源:发表于2020-06-30 20:17 被阅读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原码

    相关文章

      网友评论

          本文标题:2020-06-29

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