为什么 只有带符号数的运算才有可能产生溢出
发布网友
发布时间:2022-05-10 16:38
我来回答
共1个回答
热心网友
时间:2023-08-03 23:35
[方法一]
xf、yf分别两个数的符号位,zf为运算结果符号位。
当xf
=yf
=0(两数同为正),而zf=1(结果为负)时,负溢出;
当出现xf
=yf
=1(两数同为负),而zf=0(结果为正),正溢出.
[方法二]
cs表示符号位的进位,cp表示最高数值位进位,⊕表示异或。
若
cs⊕cp
=0
,无溢出;
若
cs⊕cp
=1
,有溢出。
[方法三]
用变形补码进行双符号位运算(正数符为00,负数符号以11)
若运算结果的符号位为"01",则正溢;
若结果双符号为10,则负溢出;
若结果的双符号位为00或11,无溢出。