2进制,原码补码转换问题byte i = 67+89他的值是-100求详解.越详细越好,主要是原码补码那一段的讲解.求高

1个回答

  • yte的数据范围是-128至127

    67+89=156显然溢出了,于是电脑就算不出正确的答案了

    那么电脑会算出多少呢?

    按计算机的算法,先把这两个加数换成补码,就成了

    0100 0011 (67的补码)

    + 0101 1001 (89的补码)

    ——————————————

    1001 1100 (得数的补码)

    计算机会再将得数的补码转化成原码

    因为此时的得数是一个负数(最高位为1)

    所以得原码为1110 0100

    再把它化为十进制,你看看是不是-100

    这回能看懂了吧~~