首页 > 试题广场 >

假定有4个整数用8位补码分别表示R1=FEH ,R2=F2H

[单选题]
假定有4个整数用8位补码分别表示R1=FEH ,R2=F2H ,R3=90H,R4=F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是
  • R1*R2
  • R2*R3
  • R1*R4
  • R2*R4
R1: -2
R2: -14
R3:-112
R4:-8
整数用8位补码表示-128 ~ 127
R1*R2 = 28 < 127
R2*R3  > 127 溢出
R1*R4  =16 < 127
R2*R4 = 112 < 127
选B
编辑于 2019-06-01 10:29:05 回复(7)
F:1111 E:1110 
FEH:1111 1110
发表于 2019-08-27 10:03:29 回复(1)
8位寄存器能保存的补码整数的范围是-128~+127, r1中的数值是-2 r2中的数值是-14 r3中的数值是-112 r4中的数值是-8, 则4个运算会发生溢出的是r2×r3, 负数时最高位为1,负数的补码为对应的原码部分取反加1
编辑于 2019-06-13 16:10:54 回复(0)
EFH 翻译的时候H 是干什么的啊?EF按照16位翻译H干什么的啊?
发表于 2020-01-29 12:43:34 回复(1)
补码的表示方法是:

正数的补码就是其本身

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

[+1] = [00000001] = [00000001] = [00000001]

[-1] = [10000001] = [11111110] = [11111111]

R1: -2
R2: -14
R3:-112
R4:-8
整数用8位补码表示-128 ~ 127 
R1*R2 = 28 < 127
R2*R3  > 127 溢出
R1*R4  =16 < 127
R2*R4 = 112 < 127
选B



发表于 2019-06-27 17:17:07 回复(0)