如何计算补码

    xiaoxiao2021-03-25  101

    10000000表示-128的补码,你可以理解为是一个特殊性。

     

    各种8位二进制的表示法的数据范围如下:

    原码: -127 ~ 127

    反码: -127 ~ 127

    补码: -128 ~ 127

     

    补码运算:正数为原码本身,负数为原码取反加一

    127为正数,其补码为原码0111 1111

    -127为负数,其补码为原码0111 1111,取反1000 0000,加一,1000 0001

     

    根据这情况来看,表示-0,不是的,-0的原码是1000 0000补码是0000 0000+0的补码也是0000 0000

     

    于是就有了规定 10000000 定为 -128的补码

    这种定法和上面数学层面的表述是一致的。

    这样规定后,负数的补码在机器中就好算了。

    在约定的范围内(-128-+127,对163264位等扩大范围)

    先将该负数取绝对值,再用二进制表示出这个绝对值 (不管符号位)

    对该二进制数进行取反加一操作就得到负数的补码了

    -128 绝对值是 128

    128的二进制表示为:

    1000 0000

    取反

    0111 1111

    1

    1000 0000

    这就是-128的补码

    这种办法算出的结果符合规定值,规定而已。

    转载请注明原文地址: https://ju.6miu.com/read-37938.html

    最新回复(0)