二进制负数补码转为十进制还有意义吗?如-59 原码是 1011 1011补码是 1100 0101 这不就是十进制-69

1个回答

  • 这是用八位补码表示的,最高位表示为符号位,0代表是正数,1代表负数

    -59为负数所以最高位是1

    59D=111011B

    所以-59D=1011 1011

    反码就是将除符号位外取反

    所以反码为:1100 0100

    补码就是反码加1

    所以反码为:1100 0101

    如果已知补码求原码只需将补码再求补码就得到原码

    例如已知补码

    1100 0101

    首先最高位为1所以为负数

    反码为:1011 1010

    原码为:1011 1011=-59

    用补码表示时将二进制的减法运算变成加法运算,方便计算机处理数据

    例如:8-5用补码表示

    1000(8)

    + 1011(-5)

    0011=3D