2进制,原码补码转换问题

问题描述:

2进制,原码补码转换问题
byte i = 67+89
他的值是-100
求详解.越详细越好,主要是原码补码那一段的讲解.求高手.
1个回答 分类:数学 2014-10-02

问题解答:

我来补答
yte的数据范围是-128至127
67+89=156显然溢出了,于是电脑就算不出正确的答案了
那么电脑会算出多少呢?
按计算机的算法,先把这两个加数换成补码,就成了
0100 0011 (67的补码)
+ 0101 1001 (89的补码)
——————————————
1001 1100 (得数的补码)
计算机会再将得数的补码转化成原码
因为此时的得数是一个负数(最高位为1)
所以得原码为1110 0100
再把它化为十进制,你看看是不是-100
这回能看懂了吧~~
 
 
展开全文阅读
剩余:2000