若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。
A.5BH+32H
B.-08H-15H
C.-51H+(-3DH)
D.2DH+3CH
参考答案:
A.产生溢出,5BH=01011011B其补码表示的机器数为:01011011
32H=00110010B其补码表示的机器数为:00110010
相加的结果为:10001101
数值最高位向符号位进位,但符号位向前无进位,故产生溢出。
B.不产生溢出,-08H=-00001000B其补码表示的机器数为:11111000
-15H=-00010101B其补码表示的机器数为:11101011
相加的结果为:111100011
数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出。
C.产生溢出,-51H=-01010001B其补码表示的机器数为:10101111
-3DH=-00111101B其补码表示的机器数为:11000011
相加的结果为:101110010
数值最高位向符号位无进位,但符号位向前进位,故产生溢出。
D.不产生溢出,2DH=00101101B其补码表示的机器数为:00101101
3CH=00111100B其补码表示的机器数为:00111100
相加的结果为:01101001
数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。