习题答案.docx
《习题答案.docx》由会员分享,可在线阅读,更多相关《习题答案.docx(42页珍藏版)》请在冰豆网上搜索。
![习题答案.docx](https://file1.bdocx.com/fileroot1/2022-12/14/2ac67831-60b1-4f2d-8b1b-90eb92696f9c/2ac67831-60b1-4f2d-8b1b-90eb92696f9c1.gif)
习题答案
附录各章习题参考答案
第1章习题参考答案
1.
(1)D
(2)D(3)B(4)C(5)D(6)D
2.答:
计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息进行快速算术和逻辑运算的工具,是一个由硬件﹑软件组成的复杂的自动化设备。
理解计算机的概念,应从六个方面:
(1)以电子器件为物质基础,即研究的对象是电子数字计算机(DigitalComputer);
(2)不需要人的直接干预,说明具有自动化能力,其前提是存储程序;(3)处理各种数字化信息,计算机以二进制编码作为数字化编码及运算的基础;(4)具有算逻运算能力,基本运算操作是算术和逻辑运算;(5)计算机是快速工具,主要取决于两个因素:
一是电子器件,二是存储程序。
(6)由硬件和软件组成。
3.答:
见本章小结。
4.答:
计算机的生命力在于它的广泛应用,应用的范围几乎涉及人类社会的所有领域。
归纳起来,在科学计算、过程检测与控制、信息管理、计算机辅助系统等领域中的应用成就最为突出。
举例:
计算机辅助教学CAI;学生的学籍管理系统;数字图书馆系统;虚拟现实系统;售票系统;学校的一卡通系统等。
5.答:
冯•诺依曼原理的基本思想是:
•采用二进制形式表示数据和指令。
指令由操作码和地址码组成。
•将程序和数据存放在存储器中,使计算机在工作时从存储器取出指令加以执行,自动完成计算任务。
这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。
•指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
•计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。
冯•诺依曼型计算机的基本特点也可以用“存储程序”和“程序控制”来高度概括。
6.答:
计算机的硬件系统由有形的电子器件等构成的,它包括运算器、存储器、控制器、输入输出设备及总线系统组成。
而总线分为数据总线、地址总线、控制总线,其结构有单总线结构、双总线结构及多总线结构。
存储器(Memory)是用来存放数据和程序的部件;运算器是对信息进行运算处理的部件;控制器是整个计算机的控制核心。
它的主要功能是读取指令、翻译指令代码、并向计算机各部分发出控制信号,以便执行指令;输入设备能将数据和程序变换成计算机内部所能识别和接受的信息方式,并顺序地把它们送入存储器中;输出设备将计算机处理的结果以人们能接受的或其它机器能接受的形式送出。
7.答:
总线(Bus)就是计算机中用于传送信息的公用通道,是为多个部件服务的一组信息传送连接线。
按照总线的连接方式,计算机组成结构可以分为单总线结构、双总线结构和多总线结构等(详细内容见第7章)。
8.答:
计算机硬件(Hardware)是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成。
计算机软件(Software)是指能使计算机工作的程序和程序运行时所需要的数据,以及与这些程序和数据有关的文字说明和图表资料,其中文字说明和图表资料又称为文档。
固件(Firmware)是一种介于传统的软件和硬件之间的实体,功能上类似软件,但形态上又是硬件。
微程序是计算机硬件和软件相结合的重要形式。
软件和硬件的逻辑等价含义:
(1)任何一个由软件所完成的操作也可以直接由硬件来实现
(2)任何一条由硬件所执行的指令也能用软件来完成
在物理意义上软件和硬件是不等价的。
9.答:
计算机软件可以分为系统软件和应用软件两大类。
系统软件是指管理、监控和维护计算机资源(包括硬件和软件)的软件。
系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
目前常见的系统软件有操作系统、各种语言处理程序、数据库管理系统以及各种服务性程序等。
举例:
系统软件,如Windows,Linux等;应用软件,如学生的学籍管理系统等。
10.答:
程序设计语言一般分为机器语言、汇编语言和高级语言三类。
机器语言是最底层的计算机语言。
用机器语言编写的程序,计算机硬件可以直接识别。
每一条机器指令都是二进制形式的指令代码。
汇编语言是为了便于理解与记忆,将机器语言用助记符号代替而形成的一种语言。
高级语言是从50年代中期开始逐步发展起来的面向问题的程序设计语言,与具体的计算机硬件无关,其表达方式接近于被描述的问题,易为人们接受和掌握。
机器语言程序是直接针对计算机硬件的,执行效率比较高,能充分发挥计算机的速度性能。
但是,用机器语言编写程序的难度比较大,容易出错,而且程序的直观性比较差,也不容易移植。
汇编语言采用了助记符,比机器语言直观,容易理解和记忆,用汇编语言编写的程序也比机器语言程序易读、易检查、易修改。
但需要汇编程序的支持。
高级语言的显著特点是独立于具体的计算机硬件,通用性和可移植性好,易于编程,但运行效率低。
11.答:
计算机系统是一个由硬件、软件组成的多级层次结构,它通常由微程序级、一般机器级、操作系统级、汇编语言级、高级语言级组成,每一级上都能创造程序设计,且得到下级的支持。
12.答:
兼容(Compatible)是一个广泛的概念,包括软件兼容、硬件兼容、系统兼容等。
软件兼容存在以下两种情况:
(1)软件的向上兼容性——这是指某档机原开发的软件可以不加修改便能在它的高档机上正确运行使用。
(2)软件的向下兼容性——这是指某档机的软件可以不加修改便能在它的低档机上正确运行使用。
在这种情况下,软件向上兼容是不成问题的。
在同一系列机内,不论高档机与低档机,所有机型上都能运行使用的软件,则是既能向上兼容又能向下兼容。
硬件兼容是软件兼容的基础,系统兼容包括硬件兼容和软件问题。
13.答:
算术逻辑运算部件(ALU:
ArithmeticLogicUnit),是运算器的核心组成,功能是完成算数和逻辑运算。
“中央处理单元”(CPU:
CentralProcessingUnit)包括运算器和控制器,是计算机的信息处理的中心部件。
存储器、运算器和控制器在信息处理操作中起主要作用,是计算机硬件的主体部分,通常被称为“主机”。
字长决定了计算机的运算精度、指令字长度、存储单元长度等,可以是8/16/32/64/128位(bit)等。
14.答:
是的,计算机硬件实体的5个基本组成部分缺一不可。
15.答:
见本章1.3.2节。
16.答:
多媒体技术是指能够同时获取、处理、编辑、存储和展示两个以上不同信息类型媒体的技术。
计算机信息的形式可以是文字、声音、图形和图象等。
17.答:
电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
18.答:
现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
第3级操作系统级。
从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
第4级是汇编语言级。
这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。
第5级是高级语言级。
这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译工作。
第6级是应用语言级。
这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。
19.答:
计算机系统的主要技术指标有:
机器字长、数据通路宽度、主存储器容量和运算速度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存储器容量是指主存储器所能存储的全部信息。
运算速度与机器的主频、执行什么样的操作、主存储器本身的速度等许多因素有关。
第2章习题参考答案
1.
(1)C
(2)B(3)B(4)B(5)B
(6)C(7)CD(8)D(9)B(10)B
2.
(1)(2001)10>(2001)8
(2)(4095)10>(7776)8
(3)(0.115)10>(0.115)16
(4)(0.625)10<(0.505)8
3.解:
最大正数=2111*0.111111=126
最大负数=2-111*-0.000001=2-13
最小负数=2111*-0.111111=-126
4.解:
X=-19/64=(-10011*2-110)2=-0.0100110=2-01*-0.1001100
定点数:
[X]原=1.0100110;
[X]反=1.1011001;
[X]补=1.1011010;
浮点数:
原码:
1,001;1.1001100
补码:
1,111;1.0110100
反码:
1,110;1.0110011
阶移,尾补:
0,111;1.0110100
5.解:
(1)=0.111110*21,011
(2)=-0.0000111=20100*1.001000
(3)>2111*0.111111上溢
(4)=21100*1.011001
6.解:
01
7.解:
X=0.1001,Y=-0.0100,
[X]补=0.1001,[-X]补=1.0111,[X/2]补=0.01001,
[Y/4]补=1.111100,[-Y/2]补=0.00100
8.解:
(1)693.12=(011010010011.00010010)8421=(100111000110.01000101)余3
(2)37.567=(00110111.010101100111)8421=(01101101.100010011010)余3
9.解:
(1)不一定
(2)成立
10.解:
(1)-128
(2)-128(3)-133(4)43
11.解:
(1)165
(2)126(3)88(4)1332
12.解:
(1)0.1110
(2)-0.0011(3)0.1000
13.解:
128B216416B486936B
14.答:
若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则海明码的编码规则是:
(1)校验位与数据位之和为m,每个校验位Pi在海明码中被分在位号2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。
(2)海明码的每一位位码Hi(包括数据位和校验位)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。
15.解:
010
16.答:
(1)最大正数
0
11111111
11111111111111111111111
X=[1+(1-223)]×2127
(2)最小正数
0
00000000
00000000000000000000000
X=1.0×2-128
(3)最大负数
1
11111111
11111111111111111111111
X==-[1+(1-223)]×2127
(4)最小负数
1
00000000
00000000000000000000000
X=-1.0×2-128
17.答:
(1)定点原码整数表示:
最大正数:
数值=(231–1)10
最大负数:
数值=-(231–1)10
(2)定点原码小数表示:
最大正数=(1–2-31)10
最大负数=-(1–2-31)10
18.解:
[x]原=1.01111;[x]补=1.10001;[-x]补=0.01111
[y]原=0.11001;[y]补=0.11001;[-y]补=1.00111
19.证明:
当1>x≥0时,即x为正小数时,1>[x]补=x≥0
因为正数的补码等于正数本身,所以1>x0.x1x2…xn≥0,x0=0
当1>x>-1时,即x为负小数,根据补码定义有:
2>[x]补=2+x>1(mod2)
即2>x0.x1x2…xn>1,x0=1
若1>x≥0,x0=0,则[x]补=2x0+x=x
若-1<x<0,x0=1,则[x]补=2x0+x=2+x
所以有[x]补=2x0+x,当
,得证。
20.解:
[x]补=0.1011,[y]补=1.1011
[
x]补=0.01011,[
x]补=1.11011
[
x]补=0.001011,[
x]补=1.111011
[-x]补=1.0101,[-x]补=0.0101
21.证明:
当x≥0时,x0=0,[x]补=0.x1x2…xn=∑ni=1xi2-i=x
当x<0时,x0=1,[x]补=1.x1x2…xn=2+x
所以x=1.x1x2…xn-2=-1+0.x1x2…xn=-1+∑ni=1xi2-i
综合上述两种情况,可得出:
X=-X0+∑ni=1xi2-i(补码与真值的关系)。
第3章习题参考答案
1.
(1)B
(2)D(3)B(4)C(5)D(6)C(7)A(8)B
2.解:
(1)0.00111
(2)0.11001(3)-0.10100
3.解:
[X+Y]变补=(312022)8
[X-Y]变补=(110000)8溢出(两符号位01)
4.解:
(运算过程请参考书中例题)
(1)1,101011000010
(2)0,000011010010
(3)1,000011010010
(4)0,011000111001
5.解:
(运算过程请参考书中例题)
(1)[X/Y]原=1,11000;余=0.10101*2-5
(2)[X/Y]原=1,11010;余=0.11010*2-5
(3)[X/Y]原=1,10000;余=0.01011*2-5
(4)溢出
6.答:
原码一位乘法运算过程中,每一步相加的和有可能往前有进位,所以部分积的符号位用一位,以保留往前的进位,然后再进行右移操作;
原码两位乘法中的运算过程使用了补码运算,由于有乘2运算,也就是往左移操作,每一步相加的和有可能往前有进位,且有可能影响两个符号位,所以部分积的符号位要三位,以保留往前的进位,然后进行右移操作时可以根据最高符号位确定往右补的编码。
7.答:
运算器的基本结构应包括以下几个部分:
(1)能实现算术和逻辑运算功能的部件ALU;
(2)存放待加工的信息或加工后的结果信息的通用寄存器组;
(3)按操作要求控制数据输入的部件:
多路开关或数据锁存器;
(4)按操作要求控制数据输出的部件:
输出移位和多路开关;
(5)计算器与其它部件进行信息传送的总线以及总线接收器与发送器;总线接收器与发送器通常是由三态门构成的。
8.答:
浮点加减运算的运算步骤包括:
对阶、求和、规格化、舍入、溢出判断。
规则及示例请见书中“浮点加减法运算”一节。
9.解:
原码加减交替法的规则是:
当余数为正时,商上1,余数左移一位,减除数绝对值得新余数;
当余数为负时,商上0,余数左移一位,加除数绝对值得新余数。
[X]原=1.1001[Y]原=1.1011
|X|=0.1001|Y|=0.1011[-|Y|]补=1.0101
运算过程如图所示
所以,Qs=1
1=0
[X/Y]原=[Q]原=0.1101
[R]原=2-4R4=0.00000001
X/Y=0.1101
R=0.00000001
原码加减交替除法运算过程
被除数
(余数R)
商Q
操作说明
00.1001
+)11.0101
R0=[X|
+[-|Y|]补
11.1110
11.1100
+)00.1011
0
得R1<0,商上0
余数与商左移一位
+|Y|
00.0111
00.1110
+)11.0101
0.1
R2>0,商上1
余数与商左移一位
+[-|Y|]补
00.0011
00.0110
+)11.0101
0.11
得R2>0,商上1
余数与商左移一位
+[-|Y|]补
11.1011
11.0110
+)00.1011
0.110
得R3<0,商上0
余数与商左移一位
+|Y|
00.0001
0.1101
得R4>0,商上1
商左移一位,余数不动
10.答:
(1)定点表示法,例如定点小数,带符号n+1位数时:
小于2-n时:
下溢,当0;
大于1-2-n时:
上溢。
(2)浮点表示法,规格化后,从阶码上分析溢出:
阶码很小时:
下溢,当0;
阶码超出最大值时:
上溢。
11.答:
请参考本章先行进位的有关描述。
12.解:
(1)浮点乘法规则:
N1×N2=
(2)阶码求和:
j1+j2=0
(3)尾数相乘:
被乘数S1=0.1001,令乘数S2=0.1011,尾数绝对值相乘得积的绝对值,积的符号位=0⊕0=0。
按无符号阵乘法器运算得:
N1×N2=20×0.01100011
(4)尾数规格化、舍入(尾数四位)
13.解:
(1)组成最低四位的74181进位输出为:
C4=Cn+4=G+PCn=G+PC0,C0为向第0位进位。
其中,G=y3+y2x3+y1x2x3+y0x1x2x3
P=x0x1x2x3
所以,C5=y4+x4C4
C6=y5+x5C5=y5+x5y4+x5y4C4
(2)设标准门延迟时间为T,“与或非门”延迟时间为1.5T,则进位信号C0由最低位传至C6需经一个反向器、两极“与或非门”,故产生C6的最长延迟时间为:
T+2×1.5T=4T
(3)最长求和时间应从施加操作数到ALU算起:
第一片74181有3级“与或非门”(产生控制参数x0,y0和Cn+4),第二、三片74181共2级反向器和2级“与或非门”(进位链),第四片7181求和逻辑(1级“与或非门”和1级半加器,设其延迟时间为3T),故总的加法时间为:
t0=3×1.5T+2T+2×1.5T+1.5T+3T=14T
14.解:
因
,求X+Y要经过对阶、尾数求和及规格化等步骤。
(1)对阶:
△J=Ex-Ey=(-10)2-(+10)2=(-100)2所以ExSx右移四位后Sx=0.00001001,经过舍入后SX=0001,经过对阶、舍入后,
。
(2)尾数求和:
Sx+Sy
0.0001(Sx)
+0.1011(Sy)
Sx+Sy=0.1100
结果为规格化数。
15.解:
设最高位为符号位,输入数据为[x]补=01111,[y]原=11101,[y]补=10011
算前求补器输出后:
x=1111,y=1101
1111
×1101
1111
0000乘积符号位运算:
1111x0⊕y0=0⊕1=1
+1111
11000011
算后求补器输出为00111101,加上乘积符号位1,最后得补码乘积值为10011101。
利用补码与真值的换算公式,补码二进制数的真值是:
x×y=-1×28+1×25+1×24+1×23+1×22+1×20=-195
十进制数乘法验证:
x×y=(+15)×(-13)=-195
16.证明:
(1)当被乘数x的符号任意,以补码表示,乘数y为正。
设[x]补=x0.x1x2…xn,[y]补=0.y1y2…yn
因为[x]补=2+x(mod2),[y]补=y
所以[x]×[y]=(2+x)×y=2y+x×y=2(y1y2…yn)+x×y
因为(y1y2…yn)是大于0的正整数。
根据模运算的性质有:
2(y1y2…yn)=2(mod2)
所以[x]补×[y]补=2+xy=[x×y]补(mod2)
即 [x×y]补=[x]补×[y]补=[x]补×(0.y1y2…yn)=[x]补×y
(2)当被乘数x符号任意,乘数y为负,都以补码表示。
[x]补=x0.x1x2…xn
[y]补=y0.y1y2…yn=1.y1y2…yn=2+y(mod2)
y=[y]补–2=1.y1y2…yn–2=0.y1y2…yn–1
所以x×y=x(0.y1y2…yn–1)=x(0.y1y2…yn)–x
[x×y]补=[x(0.y1y2…yn)]补+[-x]补
因为(0.y1y2…yn)>0,根据式
(1)
[x(0.y1y2…yn)]补=[x]补×[y]补=[x]补×(0.y1y2…yn)
即[x×y]补=[x]补×(0.y1y2…yn)+[-x]补
(3)被乘数x与乘数y的符号任意,以补码表示。
只要将式
(1)与式
(2)综合起来便得到补码乘法的统一算式,如下:
[x×y]补=[x]补(0.y1y2…yn)-[x]补×y0=[x]补×[0.y1y2…yn–y0]
=[x]补×[-y0+y1×2-1+y2×2-2+…+yn×2-n]=[x]补×y
17.解:
(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)求z=x–y的二进制浮点规格化结果。
(A)对阶:
设x的阶码为jx,y的阶码为jy,jx=(+01)2,jy=(+10)2,
jx–jy=(01)2–(10)2=(-01)2,小阶的尾数S1右移一位,
S1=(-0.0111)2,jx阶码加1,则jx=(10)2=jy,经舍入后,
S1=(-0,100)2,对阶完毕。
(B)尾数相减
[S1]补=11.100
+[-S