计算机运算时是如何判断发生溢出的?

问题描述:

计算机运算时是如何判断发生溢出的?
我记得好像看过 正数+正数=负数、负数+负数=正数 的时候就发生了溢出!
谁能解释一下计算机判断溢出的法则?

计算机运算时是如何判断发生溢出的?
-------
“计算机运算”,这里面有软件和硬件方面的判断层次.
硬件就是CPU.
CPU是大规模的集成电路,其中有个异或门.
它把运算结果最高位的进位和次高位向最高位的进位相异或,送到OF标志位.
软件则要根据OF的值来判断,OF=1则是溢出.最高位是符号位,另一个哪来的?具体情况是怎么回事?最高位是符号位,另一个哪来的?-- 一个是最高位的进位,即是符号位的进位;--另一个是“次高位向最高位的进位”,即数值向符号位的进位。具体情况是怎么回事?--说来话长。请参考原码、反码、补码的概念,以及补码的运算等等。--其实,这些楼主是应该懂得的,否则怎么就能问到“溢出的判断”的问题?--再具体深入的说,就不是“计算机运算时是如何判断发生溢出的?”的问题了;--而是:人,如何“判断溢出”的问题了。