计算机学科专业基础综合组成原理15.docx
《计算机学科专业基础综合组成原理15.docx》由会员分享,可在线阅读,更多相关《计算机学科专业基础综合组成原理15.docx(21页珍藏版)》请在冰点文库上搜索。
![计算机学科专业基础综合组成原理15.docx](https://file1.bingdoc.com/fileroot1/2023-6/7/21cbd7c4-c524-41aa-98e2-b41bc09542dc/21cbd7c4-c524-41aa-98e2-b41bc09542dc1.gif)
计算机学科专业基础综合组成原理15
计算机学科专业基础综合组成原理-15
(总分:
100.00,做题时间:
90分钟)
一、单项选择题(总题数:
27,分数:
54.00)
1.浮点数的IEEE754标准对尾数编码采用的是______。
(分数:
2.00)
A.原码 √
B.反码
C.补码
D.移码
解析:
[解析]IEEE754标准中尾数采用原码表示,阶码部分用移码表示。
2.在IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位,则它所能表示的最小规格化负数为______。
∙A.-(2-2-52)×2-1023
∙B.-(2-2-52)×2+1023
∙C.-1×2-1024
∙D.-(1-2-52)×2+2047
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]长浮点数,其阶码11位,尾数52位,采取隐藏位策略,故而其最小规格化负数为阶码取最大值2+1023(1023-211-1-1),尾数取最大值2-2-52(注意其有隐含位要加1),符号位是负。
3.按照IEEE754标准规定的32位浮点数(41A4C000)16对应的十进制数是______。
(分数:
2.00)
A.4.59375
B.-20.59375
C.-4.59375
D.20.59375 √
解析:
[解析]32位浮点数,1位符号位,8位阶码;写成二进制为:
01000001101001001100000000000000,故而阶码是10000011-01111111=4;24=16,又是正数,所以为一个大于16的数,即可知只有D为正确答案。
4.某数采用IEEE754单精度浮点数格式表示为C6400000H,则该数的值是______。
∙A.-1.5×213
∙B.-1.5×212
∙C.-0.5×213
∙D.-0.5×212
(分数:
2.00)
A. √
B.
C.
D.
解析:
[解析]IEEE754单精度浮点数格式为C6400000H,二进制格式为11000110010000000000000000000000,转换为标准的格式为:
S
阶码
尾数
1
10001100
10000000000000000000000
数符=1表示负数;阶码值为10001100-01111111=00001101=13;尾数值为1.5(注意其有隐含位,要加1)。
因此,浮点数的值为-1.5×213。
5.float型数据常用IEEE754单精度浮点格式表示。
假设两个float型变量x和y分别存放在32位寄存器f1和f2中,若(f1)=CC900000H,(f2)=B0C00000H,则x和y之间的关系为______。
(分数:
2.00)
A.x<y且符号相同 √
B.x<y且符号不同
C.x>y且符号相同
D.x>y且符号不同
解析:
[解析](f1)和(f2)对应的二进制分别是(110011001001......)2和(101100001100......)2,根据IEEE754浮点数标准,可知(f1)的数符为1,阶码为10011001,尾数为1.001,而(f2)的数符为1,阶码为01100001,尾数为1.1,则可知两数均为负数,符号相同,B、D排除,(f1)的绝对值为1.001×226,(f2)的绝对值为1.1×2-30,则(n)的绝对值比(f2)的绝对值大,而符号为负,真值大小相反,即(f1)的真值比(f2)的真值小,即x<y,选A。
6.在浮点数编码表示中,______在机器数中不出现,是隐含的。
(分数:
2.00)
A.阶码
B.符号
C.尾数
D.基数 √
解析:
[解析]浮点数表示中基数的值是约定好的,故将其隐含。
7.如果某单精度浮点数、某原码、某补码、某移码的32位机器数均为0xF0000000。
这些数从大到小的顺序是______。
(分数:
2.00)
A.浮原补移
B.浮移补原
C.移原补浮
D.移补原浮 √
解析:
[解析]这个机器数的最高位为1,对于原码、补码、单精度浮点数而言为负数,对于移码而言为正数,所以移码最大,而补码为-228,原码为-(230+229+228),单精度浮点数为-1.0×297,大小依次递减。
8.采用规格化的浮点数最主要是为了______。
(分数:
2.00)
A.增加数据的表示范围
B.方便浮点运算
C.防止运算时数据溢出
D.增加数据的表示精度 √
解析:
[解析]和非规格化的浮点数相比,采用规格化的浮点数主要是为了增加数据的表示精度。
9.在浮点运算中,下溢指的是______。
(分数:
2.00)
A.运算结果的绝对值小于机器所能表示的最小绝对值 √
B.运算的结果小于机器所能表示的最小负数
C.运算的结果小于机器所能表示的最小正数
D.运算结果的最低有效位产生的错误
解析:
[解析]当运算结果在0至规格化最小正数之间称为正下溢,在0至规格化最大负数之间称为负下溢,正下溢和负下溢统称为下溢。
10.假定采用IEEE754标准中的单精度浮点数格式表示一个数为45100000H,则该数的值是______。
∙A.(+1.125)10×210
∙B.(+1.125)10×211
∙C.(+0.125)10×211
∙D.(+0.125)10×210
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]写成二进制表示为01000101000100000000000000000000,第一位为符号位,0表示正数,随后8位(float型)10001010为用移码表示的阶码,故而减去01111111后得十进制数11,而IEEE754标准中单精度浮点数在阶码不为0时隐含1,则尾数为(1.0010)B=(1.125)D。
故该数值为(+1.125)10211。
11.设浮点数共12位。
其中阶码含1位阶符共4位,以2为底,补码表示;尾数含1位数符共8位,补码表示,规格化。
则该浮点数所能表示的最大正数是______。
∙A.27
∙B.28
∙C.28-1
∙D.27-1
(分数:
2.00)
A.
B.
C.
D. √
解析:
[解析]为使浮点数取正数最大,可使尾数取正数最大,阶码取正数最大。
尾数为8位补码(含符号位),正值最大为0.1111111,即1-2-7,阶码为4位补码(含符号位),正值最大为0111,即7,则最大正数为(1-2-7)×27=27-1。
12.计算机在进行浮点数的加减运算之前先进行对阶操作,若x的阶码大于y的阶码,则应将______。
(分数:
2.00)
A.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术左移
B.x的阶码缩小至与y的阶码相同,且使x的尾数部分进行算术右移
C.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术左移
D.y的阶码扩大至与x的阶码相同,且使y的尾数部分进行算术右移 √
解析:
[解析]浮点数加减运算时,首先要进行对阶,根据对阶的规则,阶码和尾数将进行相应的操作。
对阶的规则是,小阶向大阶看齐。
即阶码小的数的尾数算术右移,每右移一位,阶码加1,直到两数的阶码相等为止。
13.如果浮点数的尾数用补码表示,则下列______中的尾数是规格化数形式。
(分数:
2.00)
A.1.11000
B.0.01110
C.0.01010
D.1.00010 √
解析:
[解析]补码的规格化表示是小数点后一位与符号位不同,故选择D。
14.设浮点数的基数为4,尾数用原码表示,则以下______是规格化的数。
(分数:
2.00)
A.1.001101
B.0.001101
C.1.011011 √
D.0.000010
解析:
[解析]原码表示的规格化小数是小数点后2位(基数为4,用2位表示)都不为0的小数。
15.已知X=-0.875×21,Y=0.625×22,设浮点数格式为阶符1位,阶码2位,数符1位,尾数3位,通过补码求出Z=X-Y的二进制浮点数规格化结果是______。
(分数:
2.00)
A.1011011
B.0111011 √
C.1001011
D.以上都不对
解析:
[解析]将X=-0.875×21和Y=0.625×22写成7位浮点数形式,有X=0011001和Y=0100101(前半部分为阶符、阶码,后半部分为数符、数码),对阶之后,X=0101100,对阶后尾数做减法,结果需要进行右规,最终结果Z=0111011。
注意:
尾数为01.XXX或10.XXX时在浮点数中不算真正的溢出,此时只需右移一位阶码加1即可。
见唐朔飞《计算机组成原理》。
16.下列关于各种移位的说法正确的是______。
Ⅰ.假设机器数采用反码表示,当机器数为负时,左移时最高数位丢0,结果出错;右移时最低数位丢0,影响精度
Ⅱ.在算术移位的情况下,补码左移的前提条件是其原最高有效位与原符号位要相同
Ⅲ.在算术移位的情况下,双符号位的移位操作只有低符号位需要参加移位操作
(分数:
2.00)
A.Ⅰ、Ⅲ
B.只有Ⅱ
C.只有Ⅲ
D.Ⅰ、Ⅱ、Ⅲ √
解析:
[解析]Ⅰ、Ⅱ、Ⅲ都是正确的。
Ⅰ反码表示整数时末位0为奇数,右移会减小精度,如5位反码11010表示-5。
右移1位变为11101为-2,数据丢失。
Ⅱ反码:
左移右移都补0,而补码右移补位与符号位相关,无论是补码还是反码,左移移走的最高位都要与符号位相同。
Ⅲ为了防止左移操作造成溢出,补码的左移需要一个前提条件,即其原最高有效位需要与符号位相同。
17.IEEE754标准中的舍入模式可以用于二进制数也可以用于十进制数,在采用舍入到最接近且可表示的值时,若要舍入成两个有效数字形式,(12.5)D应该舍入为______。
(分数:
2.00)
A.11
B.13
C.12 √
D.10
解析:
[解析]由于最后一位是5,采用取偶数的方式,整数部分为偶数时向下取整、为奇数时向上取整,而要使结果中最小有效位数是偶数,则(12.5)D向下舍入为12。
18.下列关于舍入的说法,正确的是______。
Ⅰ.不仅仅只有浮点数需要舍入,定点数在运算时也可能要舍入
Ⅱ.在浮点数舍入中,只有左规格化时可能要舍入
Ⅲ.在浮点数舍入中,只有右规格化时可能要舍入
Ⅳ.在浮点数舍入中,左、右规格化均可能要舍入
Ⅴ.舍入不一定产生误差
(分数:
2.00)
A.Ⅰ、Ⅲ、Ⅴ
B.Ⅰ、Ⅱ、Ⅴ
C.Ⅴ √
D.Ⅰ、Ⅳ
解析:
[解析]舍入是浮点数的概念,定点数没有舍入的概念,故Ⅰ错误。
浮点数舍入的情况有两种:
对阶、右规格化,故Ⅱ、Ⅲ、Ⅳ错误。
舍入不一定产生误差,如向下舍入11.00到11.0时是没有误差的,故Ⅴ正确。
19.下列有关浮点数加减运算的叙述中,正确的是______。
Ⅰ.对阶操作不会引起阶码上溢或下溢
Ⅱ.右规和尾数舍入都可能引起阶码上溢
Ⅲ.左规时可能引起阶码下溢
Ⅳ.尾数溢出时结果不一定溢出
(分数:
2.00)
A.仅Ⅱ、Ⅲ
B.仅Ⅰ、Ⅱ、Ⅳ
C.仅Ⅰ、Ⅲ、Ⅳ
D.Ⅰ、Ⅱ、Ⅲ、Ⅳ √
解析:
[解析]对阶是较小的阶码对齐至较大的阶码,Ⅰ正确。
右规和尾数舍入过程,阶码加1而可能上溢,Ⅱ正确,同理Ⅲ也正确。
尾数溢出时可能仅产生误差,结果不一定溢出,Ⅳ正确。
20.并行加法器中,每位全和的形成除与本位相加二数数值位有关外,还与______有关。
(分数:
2.00)
A.低位数值大小
B.低位数的全和
C.高位数值大小
D.低位数送来的进位 √
解析:
[解析]在二进制加法(任意进制都是类似)中,本位运算的结果不仅与参与运算的两数数值位有关,还和低位送来的进位有关。
21.ALU作为运算器的核心部件,其属于______。
(分数:
2.00)
A.时序逻辑电路
B.组合逻辑电路 √
C.控制器
D.寄存器
解析:
[解析]ALU是由组合逻辑电路构成的,最基本的部件是并行加法器。
由于单纯的ALU不能够存储运算结果和中间变量,往往将ALU和寄存器或暂存器相连。
22.在串行进位的并行加法器中,影响加法器运算速度的关键因素是______。
(分数:
2.00)
A.门电路的级延迟
B.元器件速度
C.进位传递延迟 √
D.各位加法器速度的不同
解析:
[解析]提高加法器的运算速度最直接的方法就是多位并行加法。
本题中4个选项均会对加法器的速度产生影响,但只有进位传递延迟对并行加法器的影响最为关键。
23.加法器中每一位的进位生成信号g为______。
A.
B.XiYi
C.XiYiCi
D.Xi+Yi+Ci
(分数:
2.00)
A.
B. √
C.
D.
解析:
[解析]在设计多位加法器时,为了加快运算速度而采用了快速进位链,即对加法器的每一位都生成两个信号:
进位信号g和进位传递信号p,其中
24.用8片74181和两片74182可组成______。
(分数:
2.00)
A.组内并行进位、组间串行进位的32位ALU
B.二级先行进位结构的32位ALU √
C.组内先行进位、组间先行进位的16位ALU
D.三级先行进位结构的32位ALU
解析:
[解析]每个74181为4位的内部先行进位的ALU芯片,74182是4位的先行进位芯片,每4片74181与一片74182相连,可组成一个两级先行进位结构的16位ALU,两个这种结构的16位ALU串行进位构成两级先行进位的32位ALU。
25.组成一个运算器需要多个部件,但下面______不是组成运算器的部件。
(分数:
2.00)
A.状态寄存器
B.数据总线
C.ALU
D.地址寄存器 √
解析:
[解析]ALU为运算器核心,C正确;数据总线供ALU与外界交互数据使用,B正确;溢出标志即为一个状态寄存器,A正确。
地址寄存器不属于运算器,而属于存储器,D错误。
26.算术逻辑单元(ALU)的功能一般包括______。
(分数:
2.00)
A.算术运算
B.逻辑运算
C.算术运算和逻辑运算 √
D.加法运算
解析:
[解析]ALU既能进行算术运算又能进行逻辑运算。
27.加法器采用并行进位的目的是______。
(分数:
2.00)
A.增强加法器功能
B.简化加法器设计
C.提高加法器运算速度 √
D.保证加法器可靠性
解析:
[解析]与串行进位相比,并行进位可以大大提高加法器的运算速度。
二、综合应用题(总题数:
10,分数:
46.00)
28.什么是浮点数的溢出?
什么情况下发生上溢出?
什么情况下发生下溢出?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
浮点数的运算结果可能出现以下几种情况。
①阶码上溢出:
当一个正指数超过了最大允许值,此时,浮点数发生上溢出(即向∞方向溢出)。
如果结果是正数,则发生正上溢出(有的机器把值置为+∞);如果是负数,则发生负上溢出(有的机器把值置为-∞)。
这种情况为软件故障,通常要引入溢出故障处理程序来处理。
②阶码下溢出:
当一个负指数比最小允许值还小,此时,浮点数发生下溢出。
一般机器把下溢出时的值置为0(+0或-0)。
不发生溢出故障。
③尾数溢出:
当尾数最高有效位有进位时,发生尾数溢出。
此时,进行“右规”操作:
尾数右移一位,阶码加1,直到尾数不溢出为止。
此时,只要阶码不发生上溢出,则浮点数不会溢出。
④非规格化尾数:
当数值部分高位不是一个有效值时(如原码时为0或补码时与符号位相同),尾数为非规格化形式。
此时,进行“左规”操作:
尾数左移一位,阶码减1,直到尾数为规格化形式为止。
现有一计算机字长32位(D31~D0),数符位是第31位。
对于二进制10001111111011111100000000000000,(分数:
6.00)
(1).表示一个补码整数,其十进制值是多少?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
最高位为符号位,符号位为1,表示是一个负数,对应真值的二进制为
-1110000000100000100000000000000(数值位取反,末位加1)
对应的十进制值为-(230+229+228+220+214)。
(2).表示一个无符号整数,其十进制值是多少?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
全部32位均为数值位,按权相加可知其十进制值为
231+227+226+225+224+223+222+221+219+218+217+216+215+214。
(3).表示一个IEEE754标准的单精度浮点数,其值是多少?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
表示一个IEEE754标准的单精度浮点数
数符
阶码
尾数
1
;
00011111
;
11011111100000000000000
因为阶码为00011111,对应十进制数为31。
IEEE754标准中的阶码用移码表示,其偏置值为127,所以阶码的十进制真值为31-127=-96。
因为尾数为1.11011111100000000000000。
IEEE754标准中的尾数用原码表示,且采用隐含尾数最高数位“1”的方法,隐含的“1”是一位整数。
所以尾数真值为
1+2-1+2-2+2-4+2-5+2-6+2-7+2-8+2-9。
因为数符为1,表示这个浮点数是个负数。
所以单精度浮点数的真值为
-(1+2-1+2-2+2-4+2-5+2-6+2-7+2-8+2-9)×2-96。
29.已知十进制数X=-5/256、Y=+59/1024,按机器补码浮点运算规则计算X-Y,结果用二进制表示,浮点数格式如下:
阶符取2位,阶码取3位,数符取2位,尾数取9位。
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
浮点数的格式如下:
阶符2
阶码3
数符2
尾数9
X=-5/256=(-101)2/28=2-101×(-0.101000000)2
Y=+59/1024=(111011)2/210=2-100×(0.111011000)2
[X]补=11011,11.011000000
[Y]补=11100,00.111011000
①求阶差:
[ΔE]补=11011+00100=11111,知ΔE=-1
②对阶:
[X]补=11100,11.101100000
③
[X-Y]补=11100,10.110001000。
④结果右规一次:
[X-Y]补=11101,11.011000100。
⑤常阶码,无溢出,结果真值为2-3×(-0.1001111)2。
设浮点数字长32位,其中阶码部分8位(含一位阶符),尾数部分24位(含一位数符),当阶码的基值分别是2和16时:
(分数:
8.00)
(1).说明基值2和16在浮点数中如何表示。
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
浮点机中一旦基值确定了就不再改变了,所以基值2和16在浮点数中是隐含表示的,并不出现在浮点数中。
(2).当阶码和尾数均用补码表示,且尾数采用规格化形式时,给出两张情况下所能表示的最大正数真值和非零最小正数真值。
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
当阶码的基值是2时,最大正数:
0,1111111;0,11…1,真值是2127×(1-2-23);最小非零正数:
1,0000000;0,10…0,真值是2-129。
当阶码的基值是16时,最大正数:
0,1111111;0,11…1,真值是16127×(1-2-23);最小正数:
1,0000000;0,0001…0,真值是16-129。
(3).在哪种基值情况下,数的表示范围大?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
在浮点数表示法中,基值越大,可表示的浮点数范围越大,所以基值为16的浮点数表示范围较大。
(4).两种基值情况下。
对阶和规格化操作有何不同?
(分数:
2.00)
__________________________________________________________________________________________
正确答案:
()
解析:
对阶中,需要小阶向大阶看齐,若基值为2的浮点数尾数右移一位,阶码加1,而基值为16的浮点数尾数右移4位,阶码加1;规格化时,若基值为2的浮点数尾数最高有效位出现0,则需要尾数向左移动一位,阶码减1,而基值为16的浮点数尾数最高4位有效位全为0时,才需要尾数向左移动,每移动4位,阶码减1。
30.假定变量i是一个32位的int型整数,f和d分别为float型(32位)和double型(64位)实数。
x、y、z是float型(32位)或double型(32位)实数。
分析下列各布尔表达式,说明结果是否在任何情况下都是“true”?
1)i==(int)((double)i)
2)f==(float)((int)f)