考研帮 > 考研资料

2.5 本章真题解析

  2.5.2 综合应用题

  例题34
  
设有两个十进制数:
  (1)将x,y的尾数转换为二进制补码形式。
  (2)设阶码2位,阶符1位,数符1位,尾数3位。通过补码运算规则求出z=x-y的二进制浮点规格化结果。
  例题34解答
  
(1)设S1为x的尾数,S2为y的尾数,则

S1 = (-0.875)10 =(-0.111)2,[S1]补=1.001
  S2 = (0.625)10 = (0.101)2,[S2]补=0.101

  (2)首先对阶,x的阶码为(+01)2,y的阶码为(+10)2,(01)2-(10)2=(-01)2,小阶的尾数S1右移一位得到(-0.0111)2,阶码加1,S1经舍入后得到(-0.100)2,对阶完毕。得到x的补码浮点格式为010 1100,y的补码浮点格式为010 0101。
  其次,进行尾数相减,采用双符号位。[S1]补=11.100,[–S2]补=11.011。

  尾数右移一位,最低有效位舍掉,阶码加1(右规),则[S1–S2]补=11.011,即规格化结果为0111011。
  例题35
  
设有两个浮点数若尾数4位,阶码2位,阶符1位,求x+y的值,写出运算步骤及结果。
  例题35解答
  
首先对阶,△= Ex-Ey=(-10) -(+10) = -100,所以Sx右移4位,得到0.00001001,经过舍入处理后,Sx=+0.0001。
  其次,尾数求和:

  结果为规格化数,不需要再处理。
  例题36
  
求有效信息1011的CRC校验码。
  例题36解答
  
求CRC循环冗余校验码的基本思路是先确定校验位的位数,然后选定一个生成多项式,最后用有效数值后面添加校验位的位数个0并与生成多项式相除,CRC校验码为有效数值后加余数。求有效信息1011的CRC校验码,计算过程如下:
  首先,确定校验位的位数。设r为校验位的位数,则整个码字的位数应满足不等式:设r=3,则不等式满足。故r最小取3。
  其次,选定一个r+1位的生成多项式G(x),如G(x)=1011。在有效信息后面添加r个0,然后用它和G(x)进行模2除法运算,所得的余数即为所求的校验位。显然,在G(x)=1011的情况下,余数为000,故所求的CRC校验码为1011000。
  例题37
  
已知x=0.10011101,y=0.1110,用不恢复余数阵列除法器求x÷y。
  例题37解答
  
这是一道计算题,主要考查不恢复余数阵列除法器的运算方法,关键是掌握其运算规则。
  先求出:[-y]补=1.0010

  

  例题38
  
将下列数进行相关的转换。
  (1)将(100.25)10转换成短浮点数格式。
  (2)把短浮点数C1C90000H转换成为十进制数。
  例题38解答
  
(1)把十进制数转换成为二进制数,得到:
  
  以短浮点数格式存储该数,因为符号位为0,阶码为10000101,尾数为10010001000000000000000,所以,短浮点数代码为0;10000101;10010001000000000000000,表示为十六进制的代码为42C88000H。
  (2)将十六进制代码写成二进制形式,并分离出符号位、阶码和尾数。因为C1C90000H=11000001110010010000000000000000,所以符号位为1,阶码为10000011,尾数为10010010000000000000000。
  计算出阶码真值(移码减去偏置值),如下:
  10000011–1111111 = 100
  以规格化二进制数的形式写出此数,得到写成非规格化二进制数的形式,为11001.001。
  转换成十进制数,并加上符号位(11001.001)2=(25.125)10,所以,该浮点数为-25.125。
  例题39
  
设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数求浮点加法Z=X+Y的最终结果。
  例题39解答
  
首先对阶,小阶向大阶看齐。
  Y的尾数右移两位,Y的阶码加2,则Y的浮点数格式为00111 0000101。
  其次,尾数相加。结果的浮点数格式为00111 0100010。
  接着,对结果进行规格化。因为尾数的符号位不同(为01),说明它不是规格化的数,需要进行一次右规,才能变成规格化的数,右移一位,阶码加1,则结果的浮点数格式为01000 0010001。
  最后,进行溢出判断。因为结果阶码的两个符号位不同(为01),所以发生溢出。
  例题40
  
设有一个8位信息为10101100,试求海明码的生成和校验过程。
  例题40解答
  因为信息位为8位,根据海明码的规则2k-1=m+k+1,其校验位长度为5位,按偶校验有:
  P1=0⊕0⊕1⊕0⊕0=1
  P2=0⊕1⊕1⊕1⊕0=1
  P3=0⊕1⊕1⊕1=1
  P4=0⊕1⊕0⊕1=0
  P5=0⊕0⊕1⊕0⊕1⊕1=1
  将5位检验位插入到有效信息位中,可得到用二进制表示的海明码为:
  1 1 0 1 0 0 1 1 0 1 0 1 1
  其中,下画线表示校验位在海明码中的位置。
  上述海明码传送到接收方后,若H11(D7)位发生了错误,原码字就变为:
  1 1 1 1 0 0 1 1 0 1 0 1 1
  出错
  检错的过程很简单,只要将接收到的码字重新进行偶校验:
  S1=1⊕0⊕0⊕1⊕0⊕1=1
  S2=1⊕0⊕1⊕1⊕1⊕1=1
  S3=1⊕0⊕1⊕1⊕1=0
  S4=0⊕0⊕1⊕1⊕1=1
  S5=1⊕0⊕0⊕1⊕0⊕1⊕1=0
  故指误字为01011,其中低4位有效,相应的十进制数是11,指出H11出错。现在H11错成了1,纠错就是将H11位取反让它恢复为0,即:
  
  例题41
  
设机器数字长为8位(含一位符号位在内),若A = +15,B = +24,求[A-B]补并还原成真值。
  例题41解答
  
先将A和B转换为二进制形式:
  A = +15 = +0001111,B = +24 = +0011000
  再根据其二进制形式将其转换为相应的补码:
  [A]补 = 00001111,[B]补 = 00011000,[-B]补 = 11101000
  则
  [A-B]补 = [A]补+[-B]补 = 11110111
  因为补码的补码就等于真值,因此
  A-B= [11110111]补 = -0001001 = -9。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭