计算机组成原理第2章 例题及参考答案
计算机组成原理第2章课后题解
第 1 章
• 1.4 冯.诺伊曼机的主要设计思想?包括哪些组 成?
• 答:存储程序并按地址顺序执行。包括运 算器、控制器、存储器、输入和输出设备。
• 1.7 计算机如何区分内存中的指令和数据?
• 答:取指周期中,从内存读出的字是指令 字,该字送控制器(译码);执行周期中, 从内存读出或写入的字是数据字(操作数 或结果)。
要求变形补码,应包括两个符号位 • 5.(1)[x]补=0011011, [y]补=0000011。
• ∵结果符号位相同 ∴无溢出
• [x + y]补=0011110, x + y =+11110 • (2)[x]补=0011011, [y]补=1101011。 • ∵结果符号位相同 ∴无溢出 • [x + y]补=0000110,x + y =+00110 • (3)[x]补=1101010, [y]补=1111111。 • ∵结果符号位相同 ∴无溢出 • [x + y]补=1101001, x + y =-10111
+ + +
×2-2
[-|y|]补×2-3
[|y|]补×2-4 +
[|y|]补×2-5 +
0.1100000000 1.00001 1.1100100000 0.011111 0.0100010000 1.1100001 0.0000011000 1.11100001 1.1110011100 0.000011111 1.1111011010 0.0000011111 1.1111111001
按题目要求,写出x+y
0011011 + 0000011 0011110 0011011 + 1101011 0000110 1101010 + 1111111 1101001
计算机组成原理第2章答案
第2章综合应用题参考答案1. 在CRC校验中。
已知生成多项式是G(x)=x4+x3+1。
要求写出信息1011001的CRC 校验码。
解:生成多项式G(x)=11001,为5位,校验余数取4位,按模2除法计算过程如下:110101011001 1011001000011001111101100101111011001011100110011010余数R(x)= 1010CRC校验码=1011001 10102. 双方采用CRC循环校验码进行通信,已知生成多项式为x4+x3+x+1,接收到码字为10111010011。
判断该信息有无错误。
解:依题意,生成多项式G(x)=11011,如果信息正确,则模2除法余数应为0110010111011 1011101001111011110001101111100110111111111011100结果余数R(x)= 100不为零所以结果有错。
3. 简述算术移位与逻辑移位的区别算术移位,符号位保持不变,右移用符号位填充,左移用0填充逻辑移位,不考虑符号位,左右移位,空出位都用0填充4.已知机器字长n=8位,X=-44,Y=-53,按补码计算X-Y=?解:[X]补=11010100,[Y]补=11001011,[-Y]补=00110101[X]补11010100[-Y]补+) 00110101000010015. 设机器字长为8位(含1位符号位)设A=9/64, B=-13/32,计算[A±B]补,并还原成真值。
解:A=9/16=1001/26=0.0010010 B=-13/32=1101/25=-0.0110100[A]补=0.0010010 [B]补=1.1001100 [-B]补= 0.0110100[A]补 0.0010010[B]补 +) 1.10011001.1011110[A+B]补=1.1011110 真值A+B =-0.0100010=-17/64[A]补 0.0010010[-B]补 +)0.01101000.1000110[A-B]补=0.1000110 真值A-B =0.1000110=35/646. X=-0.1110,Y=-0.1101,采用原码一位乘法运算求[Z]原=[X×Y]原=?解:[X]原=1.1110 [Y]原=1.1101符号单独处理:积Z的符号位Zs=1 1=0被乘数、乘数都取绝对值:即[|X|] =00.1110 [|Y|]]原=0.1101部分积单元清000.0000 1101+X 00.111000.1110右移1位 00.0111 0110 1+0 00.000000.0111右移1位 00.0011 1011 0+X 00.111001.0001右移1位 00.1000 1101 1+X 00.111001.0110右移1位00.1011 0110 1积的绝对值 |Z|=0.10110110[Z]原=Zs.10110110=0.101101107. 若X=-0.1101, Y=-0.1011,用布斯算法求[X.Y]补=?解:对于Both补码乘法,符号参与运算,被乘数采用双符号位,乘数采用单符号,在乘数最末增加一个0,每次看最低两位(式中画底线的数字):相同(00,或11)则加0,若为10,则加[-X]补,若为01,则加[X]补[X]补=1.0011 [-X]补=0.1101 [Y]补=1.010100.0000 101010+[-X]补 00.110100.1101右移1位 00.0110 110101+[X]补 11.001111.1001右移1位 11.1100 111010+[-X]补 00.110100.1001右移1位 00.0100 111101+[X]补 11.001111.0111右移1位 11.1011 111110+[-X]补 00.110100.1000 1111最后一步不移位积的补码 [Z]补=0.10001111真值 Z= 0.100011118. 设X=-15,Y=-13, 用原码阵列乘法器求乘积Z=X×Y=? 并用十进制乘法验证。
组成原理2章答案
2.[x]补= a7. a6a5…a0解、(1)当a7= 0时,x≥0 此时x>-0.5则a0 = 0, a1→a6任意即可当a7= 1时,[x]补= =2-|x||x|=2- 1. a6a5…a0=1-0.a6a5…a0若要x>-0.5则|x |<0.5所以有1-0.a6a5…a0<0.50.a6a5…a0>0.50.a6a5…a0>0.100000即a7a6 = 11, a5→a0不全为0或至少有一个为13.字长32位浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示,基为2(1)最大正数的二进制表示E = 11111111 e=E-27=01111111=+127Ms = 0, M = 11…1(全1)最大的数的二进制表示:+2+127×(1-2-23)(2) 最小负数的二进制数表示:E = 11111111Ms = 1, M = 00…0(全0)(注意:用10….0来表示尾数-1) 表示为:-2+127×1(3)最小正数的二进制表示:+2-128×2-23(4)最大负数的二进制表示: [+2-128×2-23, +2+127×(1-2-23)]∪[-2-128×2-23,-2+127×1] 4. (1)2270.011011 1.1011264-==⨯ X=(-1)s ×2E-127×1.M S=0阶码:E=127+e=127-2=125=01111101 (阶码用移码表示) 尾数:M=0.1011(2) 2270.011011 1.1011264--==-⨯ X=(-1)s ×2E-127×1.M S=1阶码:E=127+e=127-2=125=01111101 (阶码用移码表示) 尾数:M=0.1011 (用原码表示)结果没有溢出,x+y=-101116.(1)x = 11011 , y = - 11111[x]变补=0 0 1 1 0 1 1[-y]变补=0 0 1 1 1 1 1上溢(2)x = 0.10111 , y = 0.11011[x]变补=0 0 1 0 1 1 1[-y]变补=1 1 0 0 1 0 1无溢出(3)x = 11011 , y = - 10011[y]变补=0 0 1 0 0 1 1[x]变补=0 0 1 1 0 1 17.(1)原码阵列x = 11011, y = -11111符号位: x0⊕y0 = 0⊕1 = 1|x| = 11011, |y|= 11111[x*y]原=1. 1 1 0 1 0 0 0 1 0 1X*y=-0. 1 1 0 1 0 0 0 1 0 1带求补器的补码阵列[x]补= 0 11011, [y]补= 1 00001乘积符号位单独运算0⊕1=1尾数部分算前求补输出│X│=11011,│y│=111112n算后求补输出1.0010111011[X×Y]补=1.0010111011X×Y=-0.1101000101(2) 原码阵列x = -0.11111, y = -0.11011符号位: x0⊕y0 = 1⊕1 = 0[x]原= 11111, [y]原 = 11011[x×y]原 = 01101000101x×y =+0.1101000101带求补器的补码阵列[x]补= 1 00001, [y]补= 1 00101乘积符号位单独运算1⊕1=0尾数部分算前求补输出│X│=11111,│y│=110112n算后求补输出1 1 0 1 0 0 0 1 0 1[X×Y]补=0 1 1 0 1 0 0 0 1 0 1X×Y=+0.11010001019.假设两数均用补码表示,阶码采用双符号法,尾数采用单符号法(1) x = 2-011*0.100101, y = 2-010*(-0.011110)[x]浮= 11101, 0.100101[y]浮= 11110, 1.100010计算x+y①完成对阶Ex-Ey = Ex+(-Ey)= 11 ,101+00,010=11,111<0无溢出Ex-Ey的值为-1Ex向Ey靠M x右移1位,Ex+1M x=0.010010 (1)②尾数相加③规格化处理:M不是1.M的形式,尾数左移2位,阶码-2M= 1.010010 阶码E=E y+11 110= 11100④舍入处理:采用0舍1入法处理M=1.010010⑤判是否溢出:阶码符号为11 无溢出x+y= = - 0.101110×2-4计算x-y①完成对阶与x+y相同②尾数相减③规格化处理:M=0.110000 E=11 110④舍入处理:采用0舍1入法处理M=0.110001⑤判是否溢出:阶码符号为11 无溢出x-y= 0.110001×2-2(2) x = 2-101×(-0.010110), y = 2-100×0.010110[x]浮= 11 011,1.101010[y]浮= 11 100,0.010110计算x+y①完成对阶Ex-Ey = Ex+(-Ey)= 11 ,011+00,100=11,111<0 无溢出Ex-Ey的值为-1Ex向Ey靠M x右移1位,Ex+1M x=1.110101 (0)②尾数相加③规格化处理:M不是1.M的形式,尾数左移2位,阶码-2M= 0.101100 阶码E=E y+11 110= 11 100+11 110=11 010 ④舍入处理:采用0舍1入法处理M= 0.101100⑤判是否溢出:阶码符号为11 无溢出x+y= = +0.101100×2-6计算x-y①完成对阶与x+y相同②尾数相减③规格化处理:M=1.011111 E=11 100④舍入处理:采用0舍1入法处理M=1.011111⑤判是否溢出:阶码符号为11 无溢出x-y= -0.100001×2-4。
计算机组成原理第2章习题参考答案
= (1-2 )×2
5 31
-9
31
(3)绝对值最小负数:000000, 1.011111111; -(2 +2 )×2 。 (4)绝对值最大负数:111111, 1.000000000; -1×2 = -2 。
-2
2-18.某浮点数字长 32 位,格式如下。其中阶码部分 8 位,以 2 为底,移码表示;尾 数部分一共 24 位(含 1 位数符) ,补码表示。现有一浮点代码为(8C5A3E00)16,试写出它所 表示的十进制真值。 0 阶码 7 8 数符
2-3.已知下列数的原码表示,分别写出它们的补码表示:[X1] 原 =0.10100,[X2] 原 =1.10111。 [解] [X1]补=0.10100,[X2]补=1.01001 2-4.已知下列数的补码表示,分别写出它们的真值:[X1]补=0.10100,[X2]补=1.10111。 [解] X1=0.10100,X2=-0.01001 2-6. 设[X]原=1.A1A2A3A4A5A6, (1)若要 X > -1/2,A1~A6 要满足什么条件? (2)若要 -1/8 ≥ X ≥ -1/4,A1~A6 要满足什么条件? [解] (1) ∵-1/2=-0.100000, [-1/2]原=1.100000
故 X>-1/2 的条件是 1.A1A2A3A4A5A<1.100000 ∴A1=0 (2)∵-1/8=-0.001, [-1/8]原=1.001000,-1/4=-0.010, [-1/4]原=1.010000 故-1/8 ≥ X ≥ -1/4 的条件是 1.001000≤X≤1.010000 ∴ A1 ( A2 A3 A2 A3 A4 A5 A6 ) 1 可简化为 A1 ( A2 A3 A4 A5 A6 ) 1 2-7.设[X]补=1.A1A2A3A4A5A6, (1)若要 X > -1/2,A1~A6 要满足什么条件? (2)若要 -1/8 ≥ X ≥ -1/4,A1~A6 要满足什么条件? [解](1)∵ [-1/2]补=1.100000 ∴ X > -1/2 的条件是:1.A1A2A3A4A5A6 >1.100000 即 A1(A2+A3+A4+A5+A6)=1 (2)∵ [-1/8]补=1.111000 [-1/4]补=1.110000 ∴-1/8 ≥ X ≥ -1/4 的条件是: 1.A1A2A3A4A5A6 ≤1.111000 并且 1.A1A2A3A4A5A6≥1.110000 即 A1A2(A3 A4 A5 A6 + A3)=1 简化为:A1A2(A4 A5 A6 + A3)=1 2-9.某机字长 16 位,问在下列几种情况下所能表示数值的范围: (1)无符号整数 (2)用原码表示定点小数 (3)用补码表示定点小数 (4)用原码表示定点整数 (5)用补码表示定点整数 [解](1) 0≤X≤(2 -1) (2) -(1-2 )≤X≤(1-2 ) (3) -1≤X≤(1-2 ) (4) -(2 -1)≤X≤(2 -1) (5) -2 ≤X≤(2 -1) 2-10.某计算机字长为 32 位,试分别写出无符号整数和带符号整数(补码)的表示范围 (用十进制数表示) [解] 无符号整数的表示范围为:0~2 -1 带符号整数的补码的表示为:-2 ~2 -1 2-11.假设机器字长为 8 位,若机器数为 81H,当它分别代表原码、补码、反码和移码 时,等价的十进制整数是多少? [解]81H=10000001B, 若表示原码,其等价的十进制整数为-1;若表示补码,其等价的 十进制整数为-127;若表示反码,其等价的十进制整数为-126;若表示移码,其等价的十进 制整数为 1。 2-15.某浮点数字长 16 位,其中阶码部分 6 位(含一位阶符) ,移码表示,以 2 为底; 尾数部分 10 位(含 1 位数符,位于尾数最高位) ,补码表示,规格化。分别写出下列各题的
计算机组成原理第2章作业参考答案
第2章部分习题参考答案【2-9】某计算机字长为16位,简述下列几种情况下所能表示数值的范围。
解:(1)无符号整数;0≤X≤(216-1)(2)用原码表示定点小数;-(1-2-15)≤X≤ +(1-2-15)(3)用补码表示定点小数;-1 ≤X≤ +(1-2-15)最小:1.000000000000000最大:0.111111*********(4)用原码表示定点整数;-(215-1)≤X≤ +(215-1)(5)用补码表示定点整数。
-215≤X≤ +(215-1)最小:1000000000000000.最大:0111111111111111.【2-10】【2-11】某浮点数字长为12位,其中阶符为1位,阶码数值为3位,数符为1位,尾数数值为7位,阶码以2为底,阶码和尾数均用补码表示。
它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?解:X最大正数 = (1-2-7)× 22^3-1 = (1-2-7) × 27X最小规格化正数 = 2-1× 2-2^3 = 2-9X绝对值最大负数 = -1 × 22^3-1 = -27= -128【2-12】【2-15】【2-16】试将 (-0.1101)2用IEEE短浮点数格式表示出来。
解:-0.1101 = -1.101*2-1符号位 = 1阶码-1的移码 = 01111111-1=01111110尾数 = 10100000000000000000000∴短浮点数代码为:1011 1111 0101 0000 0000 0000 0000 0000表示为十六进制的代码:BF500000H(4)+0.0解:短浮点数代码为:00000000000000000000000000000000 表示为十六进制的代码:00000000H【2-18】将下列IEEE短浮点数转换为十进制数(1)1(数符)1000000 1(阶码)1110000 00000000 00000000(尾数)解:计算出阶码真值:10000001 – 01111111 = 00000010尾数隐含了一个1以规格化二进制数形式写出此数:-1.111 * 22写成非规格化二进制数形式: -111.1转换成十进制数为:(-111.1)2 = (-7.5)10∴X = -7.5【2-22】已知下面数据块约定:横向校验、纵向校验均为奇校验,指出至少有多少位出错。
计算机组成原理第2章课后题解
• 答:取指周期中,从内存读出的字是指令 取指周期中, 该字送控制器(译码);执行周期中, );执行周期中 字,该字送控制器(译码);执行周期中, 从内存读出或写入的字是数据字( 从内存读出或写入的字是数据字(操作数 或结果)。 或结果)。
第 2 章
问题:要求用8位机器码,符号和数值位的总和必须是8位。
0011011 + 0011111 0111010
• (2)[x]补=0010111,[y]补=0011011,[-y]补=1100101。 , , 。 • ∵结果符号位相同 ∴无溢出 • [x - y]补=1111100,x - y =- =-00100 ,
0010111 + 1100101 1111100
按题目要求,写出x+y
0011011 + 0000011 0011110 0011011 + 1101011 0000110 1101010 + 1111111 1101001
6. (1)[x]补=0011011,[y]补=1100001,[-y]补=0011111 , , • • ∵结果符号位不同 ∴溢出(上溢) 溢出(上溢)
• 12.(1)组成最低四位的 组成最低四位的74181进位输出为: 进位输出为: . 组成最低四位的 进位输出为 • C4 = Cn+4 = G+PCn = G+PC0, C0为向第 位进位 为向第0位进位 • 其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3, 其中,
8.(1) x,y皆乘以0.00001,得x=0.11000,y=-0.11111 x,y皆乘以0.00001, x=0.11000,y=皆乘以0.00001 符号位 Sf = 0⊕1 = 1 去掉符号位后: 去掉符号位后: [|x|]补 = 0.11000 [|y|]补 = 0.11111 ; [-|y|]补 = 1.00001
《计算机组成原理》各章练习参考答案.
《计算机组成原理》各章练习题参考答案第一章思考练习题一.填空1.电子数字计算机可以分为专用计算机和通用计算机两类。
2.硬件采用LSI或VLSI的电子计算机属于计算机发展过程中的第四代。
3.存储器中存放数据和程序。
4.一台计算机包括运算、存储、控制、输入及输出五个单元。
5.完成算术运算和逻辑运算的部件是运算器(或ALU);运算器的核心是加法器;控制、指挥程序和数据的输入、运行以及处理运算结果的部件是控制器。
6.CPU内部连接各寄存器及运算部件之间的总线是内部总线;CPU同存储器、通道等互相连接的总线是系统总线;中、低速I/O设备之间互相连接的总线是I/O总线。
7.在多总路线结构中,CPU总线、系统总线和高速总线相连通过桥实现。
8.计算机软件一般分为系统软件和应用软件。
9.完整的计算机系统由硬件系统和软件系统构成。
10.机器字长是指一台计算机一次所能够处理的二进制位数量。
11.数据分类、统计、分析属于计算机在数据处理方面的应用。
12.计算机是一种信息处理机,它最能准确地反映计算机的主要功能。
13.个人台式商用机属于微型机。
14.对计算机软硬件进行管理,是操作系统的功能。
15.用于科学技术的计算机中,标志系统性能的主要参数是MFLOPS。
16.通用计算机又可以分为超级机、大型机、服务器、工作站、微型机和单片机六类。
17.“存储程序控制”原理是冯.诺依曼提出的。
18.运算器和控制器构成CPU,CPU和主存构成主机。
19.取指令所用的时间叫取指周期,执行指令所用的时间叫执行周期。
20.每个存储单元都有一个编号,该编号称为地址。
21.现代计算机存储系统一般由高速缓存、主存和辅存构成。
22.计算机能够自动完成运算或处理过程的基础是存储程序和程序控制原理。
二.单选1.存储器用来存放( C )。
A.数据B.程序C.数据和程序D.正在被执行的数据和程序2.下面的描述中,正确的是( B )A.控制器能够理解、解释并执行所有的指令及存储结果。
计算机组成原理第二章参考答案
第2章 参考答案2写出下列十进制数的原码、反码、补码和移码表示(用8位二进制数)。
如果是小数,则用定点小数表示;若为整数,则用定点整数表示。
其中MSB 是最高位(符号位),LSB 是最低位。
(1)-1 (2) -38/64 解:(1)-1=(-0000001)2 原码: 10000001反码: 11111110 补码: 11111111 移码: 01111111(2)-38/64=-0.59375=(-0.1001100)2或-38/64=-(32+4+2)*2-6=-(100110)*2-6=(-0.1001100)2 原码: 1.1001100反码: 1.0110011补码: 1.0110100移码: 0.0110100注:-1如果看成小数,那么只有补码和移码能表示得到,定点小数-1的补码为:1.0000000此例类似于8位定点整数的最小值-128补码为100000003 有一字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2.请写出:(1)最大数的二进制表示,(2)最小数的二进制表示,(3)规格化数所能表示的数的范围。
解:(题目没有指定格式的情况下,用一般表示法做)(1)最大数的二进制表示:0 11111111 11111111111111111111111 (2)最小数的二进制表示:1 11111111 00000000000000000000000(1) 7232112*2---() (2) 7211*2--()(3)规格化最大正数:0 11111111 111111111111111111111117232112*2---()规格化最小正数:0 00000000 100000000000000000000007122*2--规格化最大负数:1 00000000 011111111111111111111117123222*2----+()规格化最小负数:1 11111111 000000000000000000000007211*2--()规格化数的表示的数的范围为:7777211232122321[1*2,22*2][2*2,12)*2]----------+- ()()(下面补充IEEE 754的规格化浮点数表示范围:IEEE 754的尾数采用1.M 的形式,原码表示;阶e=E-127 (相对于一般表示法的e=E-128,人为的加了1);并且最大的阶(11111111)和最小的阶(00000000)用去作为特殊用途。
(完整版)计算机组成原理第2章例题及参考答案
第二章数码系统例题及答案例题1写出下列各数的原码、反码、补码、移码(用二进制数表示)。
(1)-35/64 (2)23/128 (3)-127(4)用小数表示-1 (5)用整数表示-1 (6)用整数表示-128解:-1在定点小数中原码和反码表示不出来,但补码可以表示,-1在定点整数中华表示最大的负数,-128在定点整数表示中原码和反码表示不出来,但补码可以。
例题2设机器字长为16位,分别用定点小数和定点整数表示,分析其原码和补码的表示范围。
解:(1)定点小数表示最小负数最大负数0 最小正数最大正数二进制原码 1.111...111 1.000...001 0.000...001 0.111 (111)十进制真值- (1-215) -2152-151-2-15原码表示的范围:- (1-215) ~1-2-15二进制补码 1.000...000 1.111...111 0.000...001 0.111 (111)十进制真值-1 -2152-151-2-15原码表示的范围:- 1 ~1-2-15(2)定点整数表示最小负数最大负数0 最小正数最大正数二进制原码1111...111 1000...001 0000...001 0111 (111)十进制真值- (215-1) -1 +1 215-1原码表示的范围:- (215-1) ~215-1 [-32767 ~ +32767]二进制补码1000...0001111...111 0000...001 0111 (111)十进制真值-1 +1 215-1原码表示的范围:- 215~215-1 [-32768 ~ +32767]一、选择题1.下列数中最小的数为()。
A.(101001)2B.(52)8C.(101001)BCD D.(233)162.下列数中最大的数为()。
A.(10010101)2B.(227)8C.(96)16D.(143)53.在机器数中,()的零的表示形式是惟一的。
计算机组成原理(肖铁军编)第二章习题及答案
导读:第二章运算方法和运算器练习,3.运算器虽有许多部件组成,11.现代计算机的运算器一般通过总线结构来组织,目的是位计算机提供判断条件,计算机按0处理,第二章运算方法和运算器练习一、填空题1.补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。
2.为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。
3.采用双符号位的方法进行溢出检测时,若第二章运算方法和运算器练习一、填空题1. 补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。
2. 为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。
3. 采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(不相同),则表明发生了溢出。
若结果的符号位为(01),表示发生正溢出;若为(10),表示发生负溢出。
4. 采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数的符号(不一致),则表示溢出;当加数与被加数符号不同时,相加运算的结果(不会产生溢出)。
5. 利用数据的数值位最高位进位C和符号位进位Cf的状况来判断溢出,则其表达式为over=(C⊕Cf)。
6. 在减法运算中,正数减(负数)可能产生溢出,此时的溢出为(正)溢出;负数减(正数)可能产生溢出,此时的溢出为(负)溢出。
7. 补码一位乘法运算法则通过判断乘数最末位Yi和Yi-1的值决定下步操作,当YiYi-1=(10)时,执行部分积加【-x】补,再右移一位;当YiYi-1=(01)时,执行部分积加【x】补,再右移一位。
8. 浮点加减运算在(阶码运算溢出)情况下会发生溢出。
9. 原码一位乘法中,符号位与数值位(分开运算),运算结果的符号位等于(两操作数符号的异或值)。
10. 一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该(加1)。
11. 左规的规则为:尾数(左移一位),阶码(减1)。
计算机组成原理二章答案
第2章作业参考答案1、(1) -35(=23)16 (2)127 (3)-127 (4)-1 [-35]原=10100011 [127]原=01111111 [-127]原=11111111 [-1]原=10000001 [-35]反=11011100 [127]反=01111111 [-127]反=10000000 [-1]反=11111110 [-35]补=11011101 [127]补=01111111 [-127]补=10000001 [-1]补=11111111 2当a 7=0时,x ≥0,满足x>-0.5的条件,即:若a 7=0,a 6~ a 0可取任意值 当a 7=1时,x<0,若要满足x>-0.5的条件,则由补码表示与其真值的关系,可知:7061524334251676022222221)2(1--------=*+*+*+*+*+*+*+-=*+-=∑a a a a a a a a x i i i 要使x>-0.5 ,所以要求a 6=1,并且a 5~a 0不能全部为0所以,要使x>-0.5,则要求a 7=0;或者a 7= a 6=1,并且a 5~a 0至少有一个为1 3、由题目要求可知,该浮点数的格式为:M(23位)不必存储符号位,只需存小数点后面的有效数值位即可。
(1)最大数的二进制表示为:0 11111111 1111……111(23个1) (2)最小数的二进制表示为:1 11111111 0000……000(23个0)(3)非IEEE754标准的补码表示的规格化数是指其最高有效位与符号位相反 故有:最大正数为:0 11111111 1111……111(23个1)=+(1-2-23)⨯2127 最小正数为:0 00000000 1000……000(22个0)=+0.5⨯2-128最大负数为:1 00000000 0111……111(22个1)=-(0.5+2-23)⨯2-128最小负数为:1 11111111 0000……000(23个0)=-1⨯2127所以其表示数的范围是:+0.5⨯2-128~+(1-2-23)⨯2127以及-1⨯2127~-(0.5+2-23)⨯2-1284、IEEE754标准32位浮点的规格化数为X=(-1)S⨯1.M⨯2E-127(1)27/6427/64=27⨯2-6=(11011)2⨯2-6=(1.1011)2⨯2-2所以S=0,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:00111110 11011000 00000000 00000000,即十六进制的(3ED80000)16 (2)-27/64-27/64=-(1.1011)2⨯2-2所以S=1,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:10111110 11011000 00000000 00000000,即十六进制的(BED80000)16 5、[x+y]补=[x]补+[y]补(1)x=11011,y=00011[x+y]补=0011011+0000011=0011110;没有溢出,x+y=11110(2)x=11011,y=-10101[x+y]补=0011011+1101011=0000110;0 0 1 1 0 1 1+ 1 1 0 1 0 1 10 00 0 1 1 0没有溢出,x+y=00110(3)x=-10110,y=-00001[x+y]补=1101010+1111111=1101001;没有溢出,x+y=-101116、[x-y]补=[x]补+[-y]补(1)x=11011,y=-11111[-y]补=0011111[x-y]补=0011011+0011111=0111010;0 0 1 1 0 1 1+ 0 0 1 1 1 1 10 1 1 1 0 1 0正溢出,x-y=+111010(2)x=10111,y=11011[-y]补=1100101[x-y]补=0010111+1100101=1111100;0 0 1 0 1 1 1+ 1 1 0 0 1 0 11 1 1 1 1 0 0没有溢出,x-y=-00100(3)x=11011,y=-10011[-y]补=0010011[x-y]补=0011011+0010011=0101110;正溢出,x-y=+101110 7、(1)x=11011,y=-11111用原码阵列乘法器1 1 0 1 1⨯ 1 1 1 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=0⊕1=1所以[x⨯y]原=1 1101000101用直接补码阵列乘法器:[x]补=011011,[y]补=100001(0) 1 1 0 1 1⨯(1) 0 0 0 0 1(0) 1 1 0 1 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (1) (1) (0) (1) (1)0 (1) (1) 0 (1) (1) 1 1 0 1 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]补=1 0010111011 (2) x=-11111,y=-11011用原码阵列乘法器1 1 1 1 1⨯ 1 1 0 1 11 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=1⊕1=0所以[x⨯y]原=0 1101000101用直接补码阵列乘法器:[x]补=100001,[y]补=100101(1) 0 0 0 0 1 ⨯(1) 0 0 1 0 1(1) 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0) 0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1)1 0 0 (1) (1) 0 0 0 1 0 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]=0 1101000101补8、(1) x=11000,y=-11111用原码阵列除法器计算,符号位单独处理,商的符号位=0⊕1=1设a=(|x|⨯2-5),b=(|y|⨯2-5),则a,b均为正的纯小数,且x÷y的数值=(a÷b);余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.11000,[b]补=[|y|⨯2-5]补=0.11111,[-b]补=1.00001过程如下:0. 1 1 0 0 0+[-b]补 1. 0 0 0 0 11. 1 1 0 0 1 ——余数为负,商为01. 1 0 0 1 0 ——余数和商左移一位(0)+[b]补0. 1 1 1 1 10. 1 0 0 0 1 ——余数为正,商为11. 0 0 0 1 0 ——余数和商左移一位(01)+[-b]补 1. 0 0 0 0 10. 0 0 0 1 1 ——商为10. 0 0 1 1 0 ——(011)+[-b]补 1. 0 0 0 0 11. 0 0 1 1 1 ——商为00. 0 1 1 1 0 ——(0110)+[b]补0. 1 1 1 1 11. 0 1 1 0 1 ——商为00. 1 1 0 1 0 ——(01100)+[b]补0. 1 1 1 1 11. 1 1 0 0 1 ——商为0——(011000)即:a÷b的商为0.11000;余数为1.11001⨯2-5,因为1.11001为负数,加b处理为正数,1.11001+b=1.11001+0.11111=0.11000,所以a÷b的余数为0.11000⨯2-5所以,(x÷y)的商=-0.11000,原码为:1.11000;余数为0.11000(2) x=-01011,y=11001商的符号位=1⊕0=1设a=|x|⨯2-5,b=|y|⨯2-5,则a,b均为正的纯小数,且x÷y的数值=a÷b;余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.01011,[b]补=[|y|⨯2-5]补=0.11001,[-b]补=1.00111过程如下:0. 0 1 0 1 1+[-b]补 1. 0 0 1 1 11. 1 0 0 1 0 ——余数为负,商为01. 0 0 1 0 0 ——余数和商左移一位(0)+[b]补0. 1 1 0 0 11. 1 1 1 0 1 ——余数为负,商为01. 1 1 0 1 0 ——余数和商左移一位(00)+[b]补0. 1 1 0 0 10. 1 0 0 1 1 ——商为11. 0 0 1 1 0 ——(001)+[-b]补 1. 0 0 1 1 10. 0 1 1 0 1 ——商为10. 1 1 0 1 0 ——(0011)+[-b]补 1. 0 0 1 1 10. 0 0 0 0 1 ——商为10. 0 0 0 1 0 ——(00111)+[-b]补 1. 0 0 1 1 11. 0 1 0 0 1 ——商为0——(001110)即:a÷b的商为0.01110;余数为1.01001⨯2-5,因为1.01001为负数,加b处理为正数,1.01001+b=1.01001+0.11001=0.00010,所以a÷b的余数为0.00010⨯2-5所以,(x÷y)的商=-0.01110,原码为:1.01110;余数为0.000109、(1)x=2-011⨯0.100101,y=2-010⨯(-0.011110)E X=-011,E y=-010,所以[E X]补=1101,[E y]补=1110M X=0.100101,M y=-0.011110,所以[M X]补=0.100101,[M y]补=1.100010 [x]浮=1101 0.100101,[y]浮=1110 1.100010E X<E y,E y-E X = E y+(-E X)=1110+0011=0001对阶后[x]浮=1110 0.010010(1),[y]浮=1110 1.100010对阶后的尾数相加:M X+M y=0.010010(1)+1.1000100. 0 1 0 0 1 0 (1)+ 1. 1 0 0 0 1 01. 1 1 0 1 0 0 (1)x+y=1.110100(1)⨯21110,化为规格化数(左移2位)为:x+y=1.010010⨯21100,即:x+y=-0.101110⨯2-4对阶后的位数相减:M X-M y=M X+(-M y)=0.010010(1)+0.0111100. 0 1 0 0 1 0 (1)+ 0. 0 1 1 1 1 00. 1 1 0 0 0 0 (1)x-y=0.110000(1)⨯21110,已经是规格化数,采用0舍1入法进行舍入处理:x-y=0.110001⨯21110,即:x-y=0.110001⨯2-2(2)x=2-101⨯(-0.010110),y=2-100⨯(0.010110) E X =-101,E y =-100,所以 [E X ]补=1011,[E y ]补=1100M X =-0.010110,M y =0.010110,所以[M X ]补=1.101010,[M y ]补=0.010110 [x]浮=1011 1.101010,[y]浮=1100 0.010110 E X <E y ,E y -E X = E y +(-E X )=1100+0101=0001对阶后[x]浮=1100 1.110101(0),[y]浮=1100 0.010110 对阶后的尾数相加:M X +M y =1.110101+0.010110 1. 1 1 0 1 0 1 + 0. 0 1 0 1 1 0 0. 0 0 1 0 1 1x+y=0.001011⨯21100,化为规格化数(左移2位)为:x+y=0.101100⨯21010,即: x+y=0.101100⨯2-6对阶后的位数相减:M X -M y =M X +(-M y )=1.110101+1.101010 1. 1 1 0 1 0 1 + 1. 1 0 1 0 1 0 1. 0 1 1 1 1 1x-y=1.011111⨯21100,已经是规格化数,所以 x-y=-0.100001⨯2-4 10、(1) ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243M x =110100.021*******4=⨯=-,Ex=0011 M y =100100.0210011694-=⨯-=--,Ey=0100Ex+Ey=0011+0100=0111[x ⨯y]符=0⊕1=1,乘积的数值=|M x |⨯|M y |: 0. 1 1 0 1 ⨯ 0. 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 1 1 1 0 1 0 1所以,x ⨯y =-0.01110101⨯20111,规格化处理(左移一位),并采用0舍1入法进行舍入:x ⨯y =-0.111011⨯20110 即:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243=-0.111011⨯26(2) ⎪⎭⎫ ⎝⎛⨯÷⎪⎭⎫ ⎝⎛⨯-161523213232将x 、y 化为规格化数: M x =011010.021********=⨯=-,Ex=1110M y =111100.02111116154=⨯=-,Ey=0011Ex-Ey=Ex+(-Ey)=1110+1101=1011[x ÷y]符=0⊕0=0,下面用加减交替法计算尾数M x ÷M y : [Mx]补=0.011010,[My]补=0.111100,[-My]补=1.0001000. 0 1 1 0 1 0+[-My]补 1. 0 0 0 1 0 01. 0 1 1 1 1 0 ——余数为负,商为00. 1 1 1 1 0 0 ——余数和商左移一位(0)+[My]补 0. 1 1 1 1 0 01. 1 1 1 0 0 0 ——余数为负,商为0 1. 1 1 0 0 0 0 ——余数和商左移一位(00) +[My]补 0. 1 1 1 1 0 00. 1 0 1 1 0 0 ——余数为正,商为11. 0 1 1 0 0 0 ——余数和商左移一位(001) +[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为1 0. 1 1 1 0 0 0 ——(0011) +[-My]补 1. 0 0 0 1 0 01. 1 1 1 1 0 0 ——商为0 1. 1 1 1 0 0 0 ——(00110) +[My]补 0. 1 1 1 1 0 00. 1 1 0 1 0 0 ——商为1 1. 1 0 1 0 0 0 ——(001101) +[-My]补 1. 0 0 0 1 0 00. 1 0 1 1 0 0 ——商为1 1. 0 1 1 0 0 0 ——(0011011) +[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为1——(00110111) Mx ÷My 的商为0.0110111,余数为0.011100⨯2-7,由于x 化为0.01101(Mx)是尾数右移2位才得到,所以x ÷y 真正的余数是0.011100⨯2-7再尾数左移2位,即0.011100⨯2-9=0.111000⨯2-10 所以,x ÷y 的商为:0.0110111⨯21011,规格化处理后为:0.110111⨯21010=0.110111⨯2-6,余数为0.111000⨯2-10 11、不考虑181ALU的函数发生器,而是从简单的全加器出发,则:若设4位的二进制数为A=A3A2A1A0,B=B3B2B1B0,并设G i=A i B i,P i=A i⊕B i,由全加器进位输出的逻辑函数C i+1=A i B i+C i(A i⊕B i)可知:(由于进位输出函数还可以写成C i+1=A i B i+C i(A i+B i),故P i=A i+B i也可)(1) 串行进位方式:C1=A0B0+C0(A0⊕B0)=G0+P0C0C2=A1B1+C1(A1⊕B1)=G1+P1C1C3=A2B2+C2(A2⊕B2)=G2+P2C2C4=A3B3+C3(A3⊕B3)=G3+P3C3(2) 并行进位方式:C1=G0+P0C0C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C012、(1) -5-5=-(101)2=-(1.01)2⨯22所以S=1E=e+127=2+127=129=(81)16=(10000001)2M=(010 0000 0000 0000 0000 0000)2故浮点格式为:1 10000001 010 0000 0000 0000 0000 0000,用十六进制表示为:(C0A00000)16(2) -1.5-1.5=-(1.1)2=-(1.1)2⨯20所以S=1E=e+127=0+127= (7F)16=(01111111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:1 01111111 100 0000 0000 0000 0000 0000,用十六进制表示为:(BFC00000)16 (3) 384384=(180)16=(1 1000 0000)2=(1.1)2⨯28所以S=0E=e+127=8+127=135= (87)16=(10000111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:0 10000111 100 0000 0000 0000 0000 0000,用十六进制表示为:(43C00000)16 (4) 1/161/16= (1.0)2⨯2-4所以S=0E=e+127=-4+127= (7B)16=(01111011)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:0 01111011 000 0000 0000 0000 0000 0000,用十六进制表示为:(3D800000)16 (5) -1/32-1/32=-(1.0)2⨯2-5所以S=1E=e+127=-5+127= (7A)16=(01111010)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:1 01111010 000 0000 0000 0000 0000 0000,用十六进制表示为:(BD000000)16 13、(1) 1 10000011 110 0000 0000 0000 0000 0000S=1E=(83)16=131 e=E-127=131-127=41.M=(1.11)2所以,该浮点数为-(1.11)2⨯24=-(11100)2=-28(2) 0 01111110 101 0000 0000 0000 0000 0000S=0E=(7E)16=126 e=E-127=126-127=-11.M=(1.101)2所以,该浮点数为(1.101)2⨯2-1=(0.1101)2=0.812514、IEEE754标准中,32位二进制数仍然有232种不同的组合,但是由于在IEEE754标准中,阶码为全1并且尾数为非0的情况不表示一个数。
计算机组成原理》第章习题答案
第二章习题解答1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。
解:2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。
解:7/16=7*2-4=0.01114/16=4*2-4=0.01001/16=1*2-4=0.0001真值原码补码反码7/16 0.0111 0.0111 0.01114/16 0.0100 0.0100 0.01001/16 0.0001 0.0001 0.0001+0 O.0OOO O.0OOO O.0OOO-0 1.0OOO O.0OOO 1.1111-1/16 1.0OO1 1.1111 1.1110-4/16 1.0100 1.1100 1.1011-7/16 1.0111 1.1001 1.10003.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=O.10100,[X2]原=l.10111。
解:[X1]补=0.10100,[X2]补=1.01001。
4.已知下列数的补码表示,分别写出它们的真值:[X1]补=O.10100,[X2]补=1.10111。
解: X1=O.10100, X2=-0.01001。
5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“O”:(1)若要X>1/2,a1~a6要满足什么条件(2)若要X≥1/8,a1~a6要满足什么条件(3)若要1/4≥X>1/16,a1~a6要满足什么条件解:(1) X>1/2的代码为:0.100001~0.111111。
a1=1,a2+a3+a4+a5+a6=1。
(2) X≥1/8的代码为:0.001001~0.111111(1/8~63/64)a1+a2=0,a3=1或a1=0,a2=1,或a2=1(3)1/4≥X>1/16的代码为:0.000101~0.01000(5/64~1/4)a1+a2+a3 =0, a4=1,a5+a6=1 或a1+a2=0,a3=1 或a2=1,a1+a3+a4+a5+a6=06.设[X]原=1.a1a2a3a4a5a6(1)若要X>-1/2,a1~a6要满足什么条件(2)若要-1/8≥X≥-1/4,a1~a6要满足什么条件解:(1) X>-1/2的代码为:1.000001~1.011111(-1/64~-31/64)。
计算机组成原理第2章习题答案
第2章习题及解答2-2将下列十进制表示成二进制浮点规格化的数(尾数取12位,包括一位符号位;阶取4位,包括一位符号位),并写出它的原码、反码、补码三和阶移尾补四种码制形式;(1)7.75解:X=7.75=(111.11)2=0.11111×211[X]原=0011×0.[X]反=0011×0.[X]补=0011×0.[X]阶称,尾补=1011×0.(2) –3/64解:X=-3/64=(-11/26)2=(-0.00001)2=-0.11×2-100[X]原=1100×1.[X]反=1011×1.[X]补=1100×1.[X]阶称,尾补=0100×1.(3) 83.25解:X=-3/64=(.01)2=0.×2111[X]原=0111×0.[X]反=[X]补=[X]原[X]阶称,尾补=1111×0.(4) –0.3125解:X=(–0.3125)10=(-0.0101)2=-0.101×2-1[X]原=1001×1.[X]反=1110×1.[X]补=1111×1.[X]阶称,尾补=0111×1.2-4 已知x和y,用变形补码计算x+y,并对结果进行讨论。
(2) x=0.11101,y=-0.10100解:[X]补=00.11101, [Y]补=11.01100, [-Y]补=00.10100[X]补+ [Y]补=00.11101+11.01100=00.01001X+Y=0.01001[X]补- [Y]补=[X]补+ [-Y]补=00.11101+00.10100=01.10001X+Y 正溢(3) x=-0.10111,y=-0.11000解: [X]补=11.01001, [Y]补=11.01000, [-Y]补=00.11000[X]补+ [Y]补=11.01001+11.01000=11.10001X+Y=-.[X]补- [Y]补=[X]补+ [-Y]补=11.01001+00.11000=00.00001X-Y =0.000012-5 已知x和y,用变形补码计算x-y,并对结果进行讨论。
计算机组成原理习题 第二章
第二章一.填空题1. 设X=-69,n=8(含符号位),则X的原码为,X的补码为,X 的移码为。
2. 设机器字长为8位,X=78,Y=-97,则[X]原= B, [X]补= B[Y]原= B, [Y]补= B3. 阶码8位(最左一位为符号位),用移码表示,尾数为24位(最左一位为符号位),用规格化补码表示,则它能表示的最大正数的阶码为,尾数为;绝对值最小的负数的阶码为,尾数为。
(以上回答用二进制书写)4. 8位补码定点整数所能表示的绝对值最大的负数(即最负的数)的值为。
5. 补码定点小数所能表示的绝对值最大负数的值为。
6. 当浮点数的尾数为补码时,其为规格化数应满足的条件为。
7. 影响并行加法器速度的关键因素是。
8. 向左规格化的规则为:尾数,阶码。
9. 运算器的基本功能是实现和运算。
10 在整数定点机中,机器数位补码,字长8位(含2位符号位),则所能表示的十进制数范围为至,前者的补码形式为,后者的补码形式为。
11 机器数为补码,字长16位(含1位符号位),用十六进制写出对应于整数定点机的最大正数补码是,最小负数补码是。
12 机器数为补码,字长16位(含1位符号位),用十六进制写出对应于小数定点机的最大正数补码是,最小负数补码是。
13 在整数定点机中,采用一位符号位,若寄存器内容为1 000 0000,当它分别表示为原码、补码、反码及无符号数时,其对应的真值分别为、、、和。
(均用十进制表示)14 在小数定点机中,采用1位符号位,若寄存器内容为10000000,当它分别表示为原码、补码和反码时,其对应的真值分别为、和(均用十进制表示)15 机器数字长为八位(含一位符号位),当x=-128(十进制)时,其对应的二进制为,[x]原= ,[x]反= ,[x]补= ,[x]移= 。
16 机器数字长为八位(含一位符号位),当x=-127(十进制)时,其对应的二进制为,[x]原= ,[x]反= ,[x]补= ,[x]移= 。
计算机组成原理第2章 部分习题答案
-7.2812510=-111.010012
然后移动小数点,使其在第1,2位之间 -111.01001=-1.1101001×22 e= 2
∵ e =E – 127
∴
S=1,E=2+127=129=1000,0001,M=1101001
最后得到32位浮点数的二进制存储格式为
1100 0000 1110 1001 0000 0000 0000 0000
第二章
习题解答
7.若浮点数 x 的IEEE754标准32位存储格式为(8FEFC000 )16,求其浮点数 的十进制值。 【解】: 将x展开成二进制: 1000 , 1111, 1110 ,1111 ,1100,0000,0000,0000 数符:1 阶码:0001,1111
尾数:110,1111,1100,0000,0000,0000
110011
商
q0=0 q1=1 q2=0 q3=1 q4=1
故得 商q=q0q1q2q3q4q5=010110, 余数r=r5r6r7r8r9r10=110011 所以 [x÷y]原=1. 10110,[余数]原=0.0000110011 即 x÷y=-0.10110,余数=0.0000110011
第 4页
第二章
习题解答
17. 已知x和y,用移码运算方法计算x-y,同时指出运算结果是否发生溢出。 (1) x=1011,y= - 0010
【解】 [x-y]移=[x]移+[-y]补 [x]移=11 1011=01 1011 [-y]补=00 0010 注意:移码最高符号位恒置为0参与运算。 01 1011
= (C0E90000)16
第 2页
第二章
习题解答
11. 已知x和y,用变形补码计算x+y ,同时指出结果是否溢出。 (1) x= 0.11011, y= -0.10101
计算机组成原理习题与解答第二章
1.把下列各数化成二进制数和八进制数(二进制取3位小数,八进制取一位小数): 7+3/4,±3/64,73.5,725.9375,25.34答:7+3/4=111.110B; 7+3/4=7.6O; ±3/64=±0.000B; ±3/64=±0.0O; 73.5=1001001.1 00B; 73.5=111.4O;725.9375=1011010101.111B; 725.9375=1325.7O; 25.34=11001.011B; 25.34=31.3O2.把下列各数化成十进制数:101.10011B ,22.2O,AD.4H答:101.10011B=5.59375; 22.2O=18.25; AD.4H=173.253.完成下列二进制数运算:101.111+11.011,1001.10-110.01,101.11*11.01,1011101 11/1101答:101.111+11.011=1001.01; 1001.10-110.01=11.01;101.11*11.01=10010.1011; 101110111/1101=11100.114.完成下列各十六进制数的运算:A39E+28DC,D5AB-7CE5,2BF*4C,C16E/3A答:A39E+28DC=CC7A; D5AB-7CE5=58C6; 2BF*4C=D014; C16E/3A=355.C25.先将15B*8E/2A中的十六进制数化成十进制数,再进行计算,最后再将结果化为十六进制数。
答:15BH*8EH/2AH=347*142/42=49274/42=1173.19=495.30AH6.试分别判断下列各组数据中哪个数据最大?哪个数据最小?(1) A=0.1001B,B=0.1001D,C=0.1001H(2) A=10111101B,B=1001D,C=111H答:(1) A最大, C最小; (2) B最大, A最小;1.写出下列各数的二进制原码和补码(最后两个用双字节): 0,96,-128,-38H,127,10 5,879H,-32768答:上述各数的原码依次为:00000000(10000000), 01100000, 无, 10111000, 011 11111, 01101001, 0000100001111001, 无;上述各数的补码依次为:00000000, 01100000, 10000000, 11001000, 01111 111, 01101001, 0000100001111001, 1000000000000000;2.分别列出下述10进制数的16进制数、非压缩的BCD数、压缩的BCD数、ASCII数字串(用16进制形式写出):10, 64, 78, 81, 92, 100, 125, 255答:上述各数的16进制数依次为:AH,40H,4EH,51H,5CH,64H,7DH,FFH;上述各数的非压缩的BCD数依次为:0100H,0604H,0708H,0801H,0902H,010000H, 010205H,020505H;上述各数的压缩的BCD数依次为:10H,64H,78H,81H,92H,0100H,0125H,0255H;上述各数的ASCII数字串依次为:3130H,3634H,3738H,3831H,3932H,313030H,313 235H, 323535H;3.用10进制数写出下列补码表示的机器数的真值:71H,1BH,80H,F8H,397DH,CF4 2H,9350H答:上述补码表示的各机器数的真值用10进制数分别表示为: +113,+27,-128,-8,+14717,-20670,-278284.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。
计算机组成原理第二章参考答案
计算机组成原理第二章参考答案计算机组成原理第二章主要介绍了计算机的层次结构和性能指标。
以下是第二章的参考答案,详细介绍了计算机层次结构的各个层次和性能指标。
第二章:计算机的层次结构和性能指标1. 什么是计算机的层次结构?计算机的层次结构是指计算机系统中各个层次之间的相互关系和功能划分。
计算机的层次结构从上到下分为五个层次:应用层、操作系统层、汇编和机器语言层、微程序层和硬件层。
2. 请介绍计算机的五个层次结构。
- 应用层:计算机的最顶层,负责处理用户的应用程序和数据。
- 操作系统层:负责管理计算机系统的资源和控制计算机的运行。
- 汇编和机器语言层:负责将高级语言转化为机器语言,供计算机硬件执行。
- 微程序层:负责实现计算机指令的具体执行过程。
- 硬件层:计算机的最底层,包括处理器、内存、输入输出设备等硬件组件。
3. 什么是计算机的性能指标?计算机的性能指标是指衡量计算机性能优劣的指标,主要包括速度、存储容量、可靠性和成本四个方面。
4. 请介绍计算机的速度性能指标。
- 响应时间:指从用户发出请求到计算机给出响应的时间。
- 时钟周期:指计算机内部处理器的时钟周期时间。
- 主频:指处理器的时钟频率,单位为赫兹。
- MIPS:指每秒执行百万条指令数,是衡量计算机运算速度的指标。
5. 请介绍计算机的存储容量性能指标。
- 主存容量:指计算机中用于存储程序和数据的主存容量。
- 硬盘容量:指计算机中用于存储大容量数据的硬盘容量。
- 缓存容量:指计算机中用于提高数据访问速度的高速缓存容量。
6. 请介绍计算机的可靠性性能指标。
- 故障率:指计算机发生故障的概率。
- 可用性:指计算机正常工作的时间占总时间的比例。
- 容错能力:指计算机在部分组件故障时仍然可以正常工作的能力。
7. 请介绍计算机的成本性能指标。
- 硬件成本:指计算机硬件的购买和维护成本。
- 能耗成本:指计算机在运行过程中消耗的能源成本。
- 人工成本:指计算机的使用和维护所需的人力成本。
计算机组成原理第四版课后答案第二章清华大学出版社课件
总称为
。
解:记录面号(磁头号)、磁道号(柱面号)、扇区号、 记录块、道密度、位密度、存储密度。
2.19 某磁盘组有4个盘片,5个记录面。每个记录面的内磁 道直径为22cm,外磁道直径为33cm,最大位密度为1600 位/cm,道密度为80道/cm,转速为3600r/min。求: (1)磁盘组的总存储容量是多少位(非格式化容量)? (2)最大数据传输率是每秒多少字节? (3)请提供一个表示磁盘信息地址的方案。
18根,可用其中A0~A15 16根接到芯片组, 余下两根A16、A17 接到片选译码器。
(3)组织结构图:
D15
…
数 据 总 线
D5 D3 D1
D4 D2
D0
地 A17
址 总
A16
线
A15 A14
片 选 译 码
…
A0
A15
AD14 D
A15
AD14 D
A15
AD14 D
DD
… … …
D
D
D
D
A0
1Kx4
A9
1Kx4
CS WB CS WB
1Kx4
CS WB
1Kx4
CS WB
2.11 设某机采用1Kx4位的动态RAM芯片(片内是 64x64结构)组成的16Kx8位的存储器。请回答: (1)设计该存储器共需几片RAM芯片? (2)画出存储体组成框图?
解: (1) 存储器共需16/1 x 8/4=32片 (2) 存储器组成框图(略)。
组织结构图:
… … … …
…ห้องสมุดไป่ตู้
D15
数 据
D14
总 线
D3 D1
D2
D0
计算机组成原理第2章习题答案
1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和反码:0,-0,,,,,1101,-1101。
解:2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。
解:7/16=7*2-4=4/16=4*2-4=1/16=1*2-4=真值原码补码反码7/164/161/16+0-0-1/16-4/16-7/163.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=,[X2]原=。
解:[X1]补=,[X2]补=。
4.已知下列数的补码表示,分别写出它们的真值:[X1]补=,[X2]补=。
解: X1=, X2=。
5.设一个二进制小数X≥0,表示成X=,其中a1~a6取“1”或“O”:(1)若要X>1/2,a1~a6要满足什么条件?(2)若要X≥1/8,a1~a6要满足什么条件?(3)若要1/4≥X>1/16,a1~a6要满足什么条件?解:(1) X>1/2的代码为:~。
a1=1,a2+a3+a4+a5+a6=1。
(2) X≥1/8的代码为:~(1/8~63/64)a1+a2=0,a3=1或a1=0,a2=1,或a2=1(3)1/4≥X>1/16的代码为:~(5/64~1/4)a1+a2+a3 =0, a4=1,a5+a6=1 或a1+a2=0,a3=1 或a2=1,a1+a3+a4+a5+a6=0 6.设[X]原=(1)若要X>-1/2,a1~a6要满足什么条件?(2)若要-1/8≥X≥-1/4,a1~a6要满足什么条件?解:(1) X>-1/2的代码为:~(-1/64~-31/64)。
a1=0,a2+a3+a4+a5+a6=1。
(2) -1/8≥X≥-1/4的代码为:~(-1/8~-1/4)a1+a2 =0, a3=1或a2=1,a1+a3+a4+a5+a6=07.若上题中[X]原改为[X]补,结果如何?解:(1) X>-1/2的代码为:~(-31/64~-1/64)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数码系统例题及答案例题1写出下列各数的原码、反码、补码、移码(用二进制数表示)。
(1)-35/64 (2)23/128 (3)-127(4)用小数表示-1 (5)用整数表示-1 (6)用整数表示-128解:-1在定点小数中原码和反码表示不出来,但补码可以表示,-1在定点整数中华表示最大的负数,-128在定点整数表示中原码和反码表示不出来,但补码可以。
例题2设机器字长为16位,分别用定点小数和定点整数表示,分析其原码和补码的表示范围。
解:(1)定点小数表示最小负数最大负数0 最小正数最大正数二进制原码 1.111...111 1.000...001 0.000...001 0.111 (111)十进制真值- (1-215) -2152-151-2-15原码表示的范围:- (1-215) ~1-2-15二进制补码 1.000...000 1.111...111 0.000...001 0.111 (111)十进制真值-1 -2152-151-2-15原码表示的范围:- 1 ~1-2-15(2)定点整数表示最小负数最大负数0 最小正数最大正数二进制原码1111...111 1000...001 0000...001 0111 (111)十进制真值- (215-1) -1 +1 215-1原码表示的范围:- (215-1) ~215-1 [-32767 ~ +32767]二进制补码1000...0001111...111 0000...001 0111 (111)十进制真值-1 +1 215-1原码表示的范围:- 215~215-1 [-32768 ~ +32767]一、选择题1.下列数中最小的数为()。
A.(101001)2B.(52)8C.(101001)BCD D.(233)162.下列数中最大的数为()。
A.(10010101)2B.(227)8C.(96)16D.(143)53.在机器数中,()的零的表示形式是惟一的。
A.原码B.补码C.反码D.原码和反码4.针对8位二进制数,下列说法中正确的是()。
A.-127的补码为10000000 B.-127的反码等于0的移码C.+1的移码等于-127的反码D.0的补码等于-1的反码5.一个8位二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则最小值为()。
A.-127 B.-32 C.-125 D.-36.计算机系统中采用补码运算的目的是为了( )。
A.与手工运算方式保持一致B.提高运算速度C,简化计算机的设计D.提高运算的精度7.某机字长32位,采用定点小数表示,符号位为1位,尾数为31位,则可表示的最大正小数为( ),最小负小数为( )。
A,+(231-1) B.-(1-2-32) C.+(1-2-31)≈+1 D.-(1-2-31)≈-18.某机字长32位,采用定点整数(原码)表示,符号位为1位,尾数为31位,则可表示的最大正整数为(),最小负整数为()。
A.+(231-1) B.-(1-2-32) C.+(230-1) D.-(231-1)9.用n+1位字长(其中1位符号位)表示定点整数(原码)时,所能表示的数值范围是()。
A.0≤︱N︱≤2n+1-1 B.0≤︱N︱≤2n-1 C.0≤︱N︱≤2n-1-110.用n+1位字长(其中1位符号位)表示定点小数(原码)时,所能表示的数值范围是()。
A.0≤︱N︱≤1-2-(n+1)B.0≤︱N︱≤1-2-n C.0≤︱N︱≤1-2-n-1 11.定点8位字长的字,采用2的补码形式表示8位二进制整数,可表示的数范围为()。
A.-127~+127 B.-2-127~+2-127C.2-128~2+127D.-128~+12712.32位浮点数格式中,符号位为1位,阶码为8位,尾数为23位。
则它所能表示的最大规格化正数为()。
A.+(2-2-23)×2+127B.+(1-2-23)×2-127C.+(2-2-23)×2+255D.2+127-2-2313.64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位。
则它所能表示的最小规格化负数为()。
A.-(2-2-52)×2-1023B.-(2-2-52)×2+1023C.-1×2-1024D.-(1-2-52)×2+204714.假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是()。
A.11001011 B.11010110 C.11000001 D.1100100115.若某数z的真值为-0.1010,在计算机中该数表示为1.0110,则该数所用的编码方法是()码。
A.原B.补C.反D.移16.长度相同但格式不同的2种浮点数,假设前者阶码长、尾数短,后者阶码短、尾数长,其他规定均相同,则它们可表示的数的范围和精度为()。
A.两者可表示的数的范围和精度相同B.前者可表示的数的范围大但精度低C.后者可表示的数的范围大且精度高D.前者可表示的数的范围大且精度高17.某数在计算机中用8421BCD码表示为0111 1000 1001,其真值为()。
A.789 B.789H C.1929 D.1lll0001001B18.在浮点数原码运算时,判定结果为规格化数的条件是()。
A.阶的符号位与尾数的符号位不同B.尾数的符号位与最高数值位相同C.尾数的符号位与最高数值位不同D.尾数的最高数值位为119.若浮点数用补码表示,则判断运算结果是否为规格化数的方法是()。
A.阶符与数符相同B.阶符与数符相异C.数符与尾数小数点后第1位数字相异D.数符与尾数小数点后第1位数字相同答案:1.C 2.B 3.C 4.B 5.C 6.C 7.①C,②D 8.①A,②D 9.B 10.B 11.D 12.A 13.C 14.D 15.B 16.B 17.A 18.D 19.C二、计算题1.设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?[解](1)定点原码整数表示:最小负数值=-(215-1)=-32767最小负整数表示:1111 1111 1111 1111最大正数值:(215-1)=+32767最大正整数表示:0111 1111 1111 1111(2)定点原码小数表示:最大正数值=(1-215)10=+0.1111 1111 111最小负数值=-(1—2-15)10=-0.111 1111 1112.机器字长32位,定点表示,尾数31位,数符1位,问:(1)定点原码整数表示时,最大正数是多少? 最小负数是多少?(2)定点原码小数表示时,最大正数是多少? 最小负数是多少?2.[解](1)定点原码整数表示时,最大正数值=(231-1)10最小负数值;-(231-1)10(2)定点原码小数表示时,最大正数值;(1-231)10 最小负数值:-(1-2-31)103.把十进制数X=(+128.75)×2-10写成浮点表示的机器数,阶码、尾数分别用原码、反码和补码表示。
设阶码4位,阶符1位,尾数15位,尾数符号1位。
3.[解]X=(+128.75)×2-10[X]原=1 0010 0 100000001100000[X]反=1 1101 0 100000001100000[X]补=1 1110 0 100000001100000阶阶数尾符码符数4.设机器字长为16位,浮点表示时,阶码5位,阶符1位,数符1位,尾数9位。
问:最大浮点数为多少? 最小浮点数为多少?4.[解] 最大浮点数=2+31×(1-2-9)最小浮点数=-2+31×(1-2-9)例题:某机采用使用浮点数格式的短浮点数数为“C2308000H”首,计算该浮点数的真值解:先将其展开为二进制数,并区分出三个字段的编码为:1,100,0010,0011,0000,1000,0000,0000,0000数阶尾符码数由于数符为1,该浮点数是一个负数。
阶码真值=10000100-011111ll=00000101尾数=1.0110,0001,0000,0000,0000,000于是该浮点数的真值为:-101100001×2+101=-101100.001=-54.125例②某机中现有浮点数为+74.75,将其变换成32位的短浮点数格式的过程如下:首先将其变换成二进制格式:+74.75=+1001100.1l表示成规格化二进制格式为:+1001100.1l=+1.00110011×2+110计算出阶码的移码为:110+01111111=10000101于是该浮点数的短浮点数格式应为:0100,0010,1001,1001,1000,0000,0000,0000=42998000H例如:①X=+0.1110110l×2-101则[X]原=1101,0.11101101[X]反=1010,0.11101101[X]补=10ll,0.1110110l②X=+0.1010110×2+010则[X]原=0010,0.1010110[X]反=0010,0.1010110[X]补=0010,0.1010110③X=-0.10101100×2+011则[X]原=0011,1.10101100[X]反=0011,1.010100ll[X]补=0011,1.01010100④X=-0.01010001×2-111则[X]原=1111,1.01010001[X]反=1000,1.10101110[X]补=1001,1.10101111。