单选题
若[X]
补
=X
0
X
1
X
2
…X
n
,其中X
0
为符号位,X
1
为最高数位。若______,则当补码算术左移时,将会发生溢出。
A.X
0
=X
1
B.X
0
≠X
1
C.X
1
=0
D.X
1
=1
A
B
C
D
【正确答案】
B
【答案解析】
[解析] 算术移位时,左移一位如不发生溢出,相当于数值×2;右移一位如不考虑舍入误差,相当于数值÷2。
解法一:当X
0
≠X
1
时,联想到浮点尾数的规格化形式,此时再左移一位必然溢出。
解法二:当x为正数时(X
0
=1),机器数中“1”为有效位、“0”为无效位,算术左移丢1,则结果溢出(此时X
0
=0,X
1
=1)。当x为负数时(X
1
=1),高数位的“0”为有效位、“1”为无效位,算术左移丢0,则结果溢出(此时X
0
=1,X
1
=0)。综合考虑,只能选B。
提交答案
关闭