若x=103,y=-25,则下列表达式采用8位定点补码运算实现时,会发生溢出的是( )。
A. x+y
B. -x+y
C. x-y
D. -x-y
进位不同了
解析:8 位定点补码表示的数据范围...
用户登录可进行刷题及查看答案
解析:8 位定点补码表示的数据范围为-128~127,若运算结果超出这个范围则会溢出,A
选项 x+y=103-25=78,符合范围,A 排除;B 选项-x+y=-103-25=-128,符合范围,B 排除;
D 选项-x-y=-103+25=-78,符合范围,D 排除;C 选项 x-y=103+25=128,超过了 127,选 C。
方法一:十进制计算
8位定点补码表示的数据范围为-128~127,若运算结果超出这个范围则会溢出。
一般发生正溢出,需要考虑 x-y,即选项C,或者负溢出,需要考虑 -x+y,即选项B,
B选项-x+y=-103-25=-128,符合范围,B排除。
C选项x-y=103+25=128>127,溢出。
本题选C。
方法二:二进制计算
[x]补 = 01100111B,[-x]补 = 10011001B,[y]补 = 11100111B,[-y]补 = 00011001B
B选项 [-x+y]补 =[-x]补 + [y]补 = (1) 1000 0000B。括号内为最高位进位,最高位符号位和最高位进位相同,无溢出。
C选项 [x-y]补 = [x]补 + [-y]补 = 01100111B = 00011001B = (1) 0000 0000B。括号内为最高位进位,最高位符号位和最高位进位不相同,溢出。
登录后提交答案