首页 > 试题广场 >

若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的

[单选题]

假定有4个整数用8位补码分别表示r 1 =FEH ,r 2 =F2H ,r 3 =90H,r 4 =F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是()

  • r1×r2    
  • r2×r3
  • r1×r4
  • r2×r4
用补码表示8位寄存器所能表示的整数范围为-128--+127
r1=(15*16+14)-256=-2
r2=(15*16+2)-256=-14
r3=(9*16+0)-256=-112
r4=(15*16+8)-256=-8;
只有r2*r3,与r3*r4溢出
故选B
编辑于 2016-12-06 08:57:40 回复(0)
H作为标识进位制的后缀,表前面为16进制数
发表于 2022-09-05 11:51:04 回复(0)
补码跟真值,所有位按位取反再+ 1,符号看最高位,比如第一个FE的二进制为1111 1110,按位取反为0000 0001,再加一为0000 0010,等于2,因为FE最高位为1,所以为负数,最后结果就为-2
发表于 2019-11-17 21:20:19 回复(0)