C.+(2 – 223)×2+255 D.2+127 + 227
45.
如果浮点数用补码表示,则判断下列哪一项的运算结果是规格化数______。 A 1.11000 B 0.01110 C 1.00010 D0.01010
46. ______表示法主要用于表示浮点数中的阶码。
A.原码 B.补码 C.反码 D.移码 47. ( √ )移码表示法主要用于表示浮点数的阶码E,以利于比较两个指数的大小和对阶操作。 48. ( × )浮点运算器阶码部件可实现加、减、乘、除四种运算。 49. ( √ )浮点运算器阶码部件可实现加、减和比较操作。 50. ( √ )按IEEE754标准,一个浮点数由符号位S,阶码E,尾数m 三部分组成。 51. ( × )按IEEE754标准,阶码E的值等于指数的基值E 加上一个固定 偏移量128。
1. 有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示;尾数23位,用补
码表示;基数为2。请写出: (1)最大数的二进制表示; (2)最小数的二进制表示;
(3)规格化数所能表示的数的范围;
(4)最接近于零的正规格化数与负规格化数。 解:
? 最大正数值是由尾数的最大正数值与阶码的最大正数值组合而成的;
? 最小正数值是由尾数的最小正数值与阶码的最小负数值组合而成的。在负数区间; ? 最大负数值是由尾数的最大负数值与阶码的最小负数值组合而成的; ? 最小负数值是由尾数的最小负数值与阶码的最大正数值组合而成的。
设浮点数格式为X=2E?S,阶码为8位移码,则阶码的取值范围为 -128~+127;尾数是23位的补码,则尾数最大正数值为Smax=1-2-23;尾数最小正数值为Smin=2-23。尾数最大负值为-2-23;尾数最小负值为-1。 (1)最大数的二进制表示:
正数Xmax=2127?(1-2-23)=1111…11000…00 (23个1,104个0) 负数Xmax=2-128?(-2-23)= - 0.000……0001 (小数点后151个0) (2)最小数的二进制表示:
正数Xmin=2-128?2-23=0.000……0001 (小数点后151个0) 负数Xmin=2127?(-1)=-10000……000
2. 设有两个浮点数x=2×Sx,y=2×Sy,Ex=(-10)2,Sx=(+0.1001)2,
Ey=(+10)2,Sy=(+0.1011)2。 若尾数4位,数符1位,阶码2位,阶符1位,求x+y=?并写出运算步骤及结果。
解:因为X+Y=2Ex×(Sx+Sy) (Ex=Ey),所以求X+Y要经过对阶、尾数求和及规格化等步骤。
(1) 对阶: △J=Ex-EY=(-10)(+10)(-100)则Sx右移4位,Ex+(100)2=(10)2=EY。2-2=2 所以Ex () SX右移四位后SX=0.00001001,经过舍入后SX=0001,经过对阶、舍入后,X=2102×(0.0001)2 (2) 尾数求和: SX+SY 0. 0001(SX) + 0. 1011(SY) SX+SY=0. 1100 结果为规格化数。所以: Ex Ey X+Y=2(10)2×(SX+SY)=2(10)2(0.1100)2=(11.00)2 3. 设有两个浮点数 N1 = 2 × S1 , N2 = 2 × S2 ,其中阶码2位,阶符1位,尾数四位,数符一位。设 :j1 = (-10 )2 ,S1 = ( +0.1001)2 j2 = (+10 )2 ,S2 = ( +0.1011)2 求:N1 ×N2 ,写出运算步骤及结果,积的尾数占4位,要规格化结果。 j1 j2 解(1)浮点乘法规则: j1j2(j1j2) N1 ×N2 =( 2 ×S1)× (2 × S2) = 2+ ×(S1×S2) (2) 码求和: j1 + j2 = 0 (3) 尾数相乘: 被乘数S1 =0.1001,令乘数S2 = 0.1011,尾数绝对值相乘得积的绝对值,积的符号位 = 0 0⊕0 = 0。N1 ×N2 = 2×0.01100011 (4)尾数规格化、舍入(尾数四位) (-01) N1 ×N2 = (+ 0.01100011)2 = (+0.1100)2×22 4. 已知X=2010×0.11011011,Y=2100×(-0.10101100),求X+Y。 解:为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为: [ X ]浮 = 00010 , 0.11011011 [ Y ]浮 = 00100 , 1.01010000 (1) 求阶差并对阶: ΔE = Ex – Ey = [ Ex]补 + [ - Ey]补 = 00010 + 11100 = 11110 即ΔE为 –2,x的阶码小,应使Mx 右移2位,Ex加2, [ X ]浮 = 00010 , 0.11011011 (11) 其中(11)表示Mx 右移2位后移出的最低两位数。 (2) 尾数和 0. 0 0 1 1 0 1 1 0 (11) 1. 0 1 0 1 0 1 0 0 2. 1 0 0 0 1 0 1 0 (11) (3) 规格化处理 尾数运算结果的符号位与最高数值位为同值,应执行左规处理,结果为1.00010101 (10),阶码为00 011 。 (4) 舍入处理 采用0舍1入法处理,则有 1. 0 0 0 1 0 1 0 1 + 1 1. 0 0 0 1 0 1 1 0 (5) 判溢出 阶码符号位为00 ,不溢出,故得最终结果为 011 x + y = 2× (-0.11101010) 5. 设[X]补=a0.a1a2···a6,其中ai取0或1,若要x>–0.5,求a0,a1,a2,···,a6的取值。 解答: [–0.5 ]原=1.1000000 [–0.5 ]补=1.1000000 [–0.5 ]移=0.1000000 所以,对于负数,即a0 = 1,则a1 = 1 ,且a2~ a6 任意一个为1即可。 对于正数,则a0 = 0,其他任意,就可满足条件。 6. 若浮点数X的IEEE754标准存储格式为(41360000)16求其浮点数十进制数值。 解:将十六进制数展开,可得二进制数格式为: 0 100 0001 0 011 0110 0000 0000 0000 0000 ? 指数e=阶码-127=10000010-01111111= 00000011 =(3)10 ? 包括隐藏位1的尾数1.M = 1.011 0110 0000 0000 0000 0000 = 1.011011 ? 于是有:X = (-1)s * 1.M * 2e = +(1.011011)2 * 23 = + (1011.011)2 = (11.375)10 7. 将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。 ? 首先分别将整数和分数部分转换成二进制数: 20.59375 = 10100.10011 ? 然后移动小数点,使其在第1,2位之间 10100.10011==1.010010011*24 e=4 ? 于是得到: S=0, M=010010011 E=e+127 = 4+127 = 131 = 1000 0011 ? 二进制表示: 0100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 8. 将下列十进制数表示成表示成IEEE754标准的32位浮点规格化数。 (1)27/64 (2)-27/64 解答:(1)27/64 =11011X2-6=1.1011X2-2 符号位:S=0; 阶码值:E=-2+127=125=01111101B; 尾数: M=1011 0000 0000 0000 0000 000。 浮点数:0011 1110 1101 1000 0000 0000 0000 0000 =3ED80000H (2)- 27/64 =-11011×2-6=-1.1011×2-2 符号位:S=1; 阶码值:E=-2+127=125=01111101B; 尾数: M=1011 0000 0000 0000 0000 000。 浮点数:1011 1110 1101 1000 0000 0000 0000 0000 =BED80000H 9. 将十进制数-0.75表示成单精度的IEEE754标准代码。 解答:- 0.75= - 0.11B=-0.11 X 20=-1.1 X 2-1; 符号位:S=1; 阶码值:E=-1+127=126=01111110 B; 尾数:M=1000 0000 0000 0000 0000 000。 按浮点数编码格式表示为:1 01111110 1000 0000 0000 0000 0000 000=BF400000H 10. 将IEEE754单精度浮点数0C0B00000H用十进制数表示: 解答:将十六进制数展开,可得二进制数格式为: 1 10000001 0100 0000 0000 0000 0000 000 符号位S=1;阶码部分值:e=E-127=129-127=2; 尾数部分:1.M=1.01=1.25; 根据IEEE754标准的表示公式, 其数值为——(-1)1 ×(1.25)× 22 = -1 ×1.25 × 4=-5.0 第7章复习题 52. 变址寻址方式中,操作数的有效地址等于______。 A 基值寄存器内容加上位移量 B 堆栈指示器内容加上位移量 C 变址寄存器内容加上位移量 D 程序记数器内容加上位移量 53. 用某个寄存器中操作数的寻址方式称为______寻址。 A 直接 B 间接 C 寄存器直接 D 寄存器间接 54. 单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。 A 堆栈寻址方式 B 立即寻址方式 C 隐含寻址方式 D 间接寻址方式 55. 寄存器间接寻址方式中,操作数处在______。 A. 通用寄存器 B. 主存单元 C. 程序计数器 D. 堆栈 56. 程序控制类指令的功能是______。 A 进行算术运算和逻辑运算 B 进行主存与CPU之间的数据传送 C 改变程序执行顺序 D 进行CPU和I / O设备之间的数据传送 57. 指令系统采用不同寻址方式的目的是______。 A 实现存贮程序和程序控制; B 缩短指令长度,扩大寻址空间,提高编程灵活性; C 可直接访问外存; D 提供扩展操作码的可能并降低指令译码的难度; 58. 指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。 A 堆栈寻址 ; B 程序的条件转移 ; C 程序的无条件转移 ; D 程序的条件转移或无条件转移 ; 59. 二地址指令中,操作数的物理位置可安排在______。 A 栈顶和次栈顶 B 两个主存单元 C 一个主存单元和一个寄存器 D 两个寄存器 60. 以下四种类型指令中,执行时间最长的是______。 A.RR型指令 B.RS型指令 C.SS型指令 D.程序控制指令 61. 运算型指令的寻址与转移型指令的寻址不同点在于______。 A 前者取操作数,后者决定程序转移地址 A 后者取操作数,前者决定程序转移地址 A 前者是短指令,后者是长指令 A 前者是长指令,后者是短指令