电脑大虾们,请帮小妹解决此疑惑。
两个以二进制表示的正数相加,结果为负数。
0111 0101 + 0001 1000 = 1000 1101
正正相加,却得了负数? 这个怎么解释?
谢谢!
电脑大虾们,请帮小妹解决此疑惑。
两个以二进制表示的正数相加,结果为负数。
0111 0101 + 0001 1000 = 1000 1101
正正相加,却得了负数? 这个怎么解释?
谢谢!
0111 0101
0001 1000 +
---------------
1000 1101
这种情况就是溢出了,
八位有符号最大是0111 1111
只要加1就已经溢出.你在第5位加1,当然仍是溢出
-97-88=-185
这个同样是溢出,
八位有符号数最小是1000 0000 ,十进制是-128
注意你的结果已是-185了,当然又溢出了
这种现象成为溢出 例如:上诉两个数都在 -128 - 127 之间 但结果超过了127 属于溢出