您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页计算机学科专业基础综合组成原理-数据的表示和运算(二)

计算机学科专业基础综合组成原理-数据的表示和运算(二)

来源:榕意旅游网
计算机学科专业基础综合组成原理-数据的表示和运算(二)

(总分:100.00,做题时间:90分钟)

一、单项选择题(总题数:54,分数:94.00)

1.某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为______。 (分数:2.00) A.2-9 B.2-8 C.2-7 √ D.2-6

解析:[解析] 求最小的非零正数,符号位为0,数值位取非0中原码最小值,该8位数据编码为0.0000001,表示的值是2 ,所以选C。

2.已知[X] 补 =0110 0011,则[-X] 补 等于______。 (分数:2.00) A.0001 1100 B.1001 1100 C.1001 1101 √ D.以上都不是

解析:[解析] X为正整数,则原码、补码、反码相同。

解法一:[X] 原 =01100011,[-X] 原 =[11100011] 原 =[10011100] 反 =[10011101] 补 ,所以选C。 解法二:(可用来验证答案) [-X] 补 +[X] 补 =[00000000] 补

只有C项满足[01100011] 补 +[10011 101] 补 =[00000000] 补 解法三:(转换口诀)

由[X] 补 求[-X] 补 ,是将[X] 补 连同符号位一起各位求反,末位加1。 3.已知[X] 补 =0.111 1110,则[X] 原 等于______。 (分数:2.00) A.0 B.0 C.0 √ D.1

解析:[解析] 若原码的真值大于等于0,其补码跟原码一样。(注意:原码中0有两种表示,但补码只有一个。对于原码中的两种0,无论用两种转换规则的哪种,其补码刚好都是一样的) 补码0.1111110,从符号位得出为正数,其补码跟原码一样,故选C。 若为负数,其原码为“符号位不变,数值位取反,末位加1”。

4.早期的计算机只有定点数表示,相比浮点数表示,定点数的缺点有______。 Ⅰ.硬件结构复杂 Ⅱ.运算编程困难

Ⅲ.表示数的范围小 Ⅳ.数据存储单元的利用率很低 (分数:2.00) A.Ⅰ、Ⅱ B.Ⅱ、Ⅲ C.Ⅲ、Ⅳ D.Ⅱ、Ⅲ、Ⅳ √

解析:[解析] 浮点数的硬件结构比定点数复杂,故Ⅰ不是定点数的缺点。

定点数进行运算时,程序程序设计人员必须首先确定机器小数点的位置,并把所有参与运算的数据的小数点都对齐到这个位置上,然后机器才能正确进行运算,故Ⅱ属于定点数的缺点。

定点数的表示数范围小,16位字长的计算机所能表示的整数的范围只有-32768~32767。为了表示两个大小相差很大的数据,需要有很长的字长,故Ⅲ属于定点数的缺点。

-7

为了把小数点的位置定在数据最高位前面,必须把所有参与运算的数据至少都除以这些数据中的最大数,只有这样才能把所有数据都化成纯小数,因而会造成很多数据有大量的前置零,从而浪费了很多数据存储单元,导致数据存储单元的利用率很低,故Ⅳ属于定点数的缺点。 综上所述,本题选D。

5.相同位数的补码、移码、反码中,能表示的整数最多的是______。 (分数:2.00) A.补码 B.移码 C.反码

D.补码和移码 √

解析:[解析] 4种表示方式中,正负数都是可以一一对应的。所能表示个数的差别就在于0的表示。 原码:原码的0有两种表示,即符号位为0和1两种零。

反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外,故反码的0也有两种表示。

补码:补码的0只有一种表示,形如00…0。注意:10…0表示的不是负零,而是最大负数。 移码:移码是符号位取反的补码,故0也是只有一种表示。

考生通过理解定义,进而理解4种表示方式之间的联系,万变不离其宗,就可以减少记忆错误的失分。 综上所述,补码和移码的表示整数个数都比原码和反码多1,故选D。 6.补码定点整数0101 0000左移两位后的值为______。 (分数:2.00) A.0101 0000 B.0100 0000 √ C.0100 0011 D.都错

解析:[解析] 解法一:该数为补码,符号位为0,按照算术补码的移位规则,正数左右移位均添0,且符号位不变,所以0101 0000左移两位后的值为0100 0000。

解法二:考生有时会忘记这些复杂的规律,这时可以采取其他思路。移位操作的本质就是乘除操作,但若溢出,溢出信息丢失。左移两位就是乘以4。补码0101 0000,原码也为0101 0000,十进制数为2^6+2^4,乘以4后为:2^8+2^6,表示为1 0100 0000。去掉溢出位,就为0100 0000。

[注意] 所有移位操作的题目,都可以化成十进制进行求解或验算。左移n位相当于对应的十进制数×2 ,右移n位相当于对应的十进制数×2 。

7.补码定点整数1101 0000右移两位后的值为______。 (分数:2.00) A.0100 0000 B.0011 0100 C.1111 0100 √ D.都错

解析:[解析] 解法一:该数为补码,符号位为1,按照算术补码移位规则,负数右移添1,负数左移添0,所以1101 0000右移两位后为1111 0100。

解法二:右移就是除以4。补码1101 0000,原码为1011 0000,十进制数为-(2^5+2^4),除以4后为-(2^3+2^2),原码为1000 1100,补码为1111 0100。

[注意] 所有移位操作的题目,都可以化成十进制进行求解或验算。左移n位相当于对应的十进制数×2 ,右移n位相当于对应的十进制数×2 。

8.若定点整数k位,第一位为符号位,采用补码表示,所能表示的绝对值最大负数和最大正数分别为______。 (分数:2.00) A.-2k和2k-1 √ B.-(2k-1)和2k C.-2k和2k D.-(2k-1)和2k-1

-n

n

-n

n

解析:[解析] 根据补码的几条规定即可推出答案: 1)若二进制每位全为0,则表示数0。 2)若最高位(即符号位)为0,表示正数。

3)若最高位为1,表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。例如,二进制的10000000的最高位为1,所以它表示的是负数,是负的多少呢?我们将其8位全部取反,得到01111111,然后加1,得到10000000。将该数看作无符号数,值为128,故计算机中的10000000表示的是-128。最高位(即符号位)为1的8位有符号数有128个,故可表示128个负数;最高位为0的8位有符号数有128个,但全0的那个表示数0,所以总共只能表示127个正整数。若为k+1位,其补码的表示范围为[-2 ,2 -1]。 所以答案为A。

9.下列关于原码、补码、反码和移码的叙述中,不正确的是______。 (分数:2.00)

A.相同位数的补码和移码具有相同的数值范围 B.零的补码和移码表示不同

C.一般反码用于表示浮点数的阶码 √ D.在实际计算机中,很少存储原码和反码

解析:[解析] 同一真值的补码和移码只有一个符号位是不同的,且唐朔飞编写的教材中有真值、补码、移码的对照表。二者表示的范围是一样的,故A正确。

若机器字长k位,则[0] 补 =00…0,[0] 移 =2 +0=10…0,[0] 补 ≠[0] 移 ,故B正确。 一般移码用于表示浮点数的阶码,故C错误。 计算机一般存储的是补码和移码。

原码是有符号数的最简单的编码方式,便于输入输出,但很少用于存储。 反码一般是计算过程中的中间过程。 所以D的叙述也是正确的。

10.n位补码可表示负数个数为______。 (分数:2.00) A.2n B.2n-1 C.2n-1-1 D.2n-1 √

解析:[解析] n位补码表示整数的范围为[-2 ,2 -1],其中负数为2 个,故选D。 下表为n位原码,补码和反码的整数表示范围

n-1

n-1

n-1

k

k

k

n位原码,补码和反码的整数表示范围 原码 -(2 n-1 -1)~(2 n-1 -1) 补码 -2 n-1 ~(2 n-1 -1) 反码 -(2 n-1 -1)~(2 n-1 -1) 11.下列关于各种移位的说法中,正确的是______。 Ⅰ.假设机器数采用反码表示,当机器数为负时,左移时最高数位丢0,结果出错;右移时最低数位丢0,影响精度

Ⅱ.对于变形补码,在算术移位的情况下,补码左移的前提条件是其原最高有效位与原符号位要相同 Ⅲ.在算术移位的情况下,双符号位的移位操作只有低位符号位需要参加移位操作 (分数:2.00) A.Ⅰ、Ⅲ B.只有Ⅱ C.只有Ⅲ D.Ⅰ、Ⅱ、Ⅲ √

解析:看下面的总结,故Ⅰ正确。

Ⅱ.正常情况下,变形补码的符号为00或者11时不溢出,如果最高有效位与原符号位不同,比如11.0×××,

左移就会形成10.×××这种形式,导致溢出,故Ⅱ正确。 Ⅲ.看下面的总结,故Ⅲ正确。

12.下列关于尾数舍入方法的说法中,错误的有______。

Ⅰ.截断法(恒舍法)实现起来最简单,故已普遍在小型及微型机中使用

Ⅱ.上舍下入法只有少量的累积误差,且精度也比较高,故已普遍在小型机及微型机中使用 Ⅲ.恒置法的主要缺点是表数精度低,故很少被应用在计算机系统中 Ⅳ.恒置1、恒置0和截断法这三种舍入方法的最大误差最大的是恒置1法 (分数:2.00) A.Ⅰ B.Ⅱ、Ⅳ C.Ⅲ、Ⅳ √ D.Ⅱ和Ⅲ

解析:[解析] Ⅰ正确。截断法又称恒舍法、必舍法等假定舍入前规格化尾数的长度为p+g位,p是尾数有效字长,g是有效字长p位之外的代码长度。截断法的舍入规则是:无论g位长度的代码是什么,一律把它舍去,只保留有效字长p位代码作为尾数,而且不作任何更改,所以截断法是一种最容易实现的舍入法。 Ⅱ错误。在日常使用的十进制中称为4舍5入法,在二进制中称为0舍1入法,在16进制中称为7舍8入法。下舍上入法的舍入规则是:以规格化尾数有效字长p位之外的g位代码的中间值为界,小于这个中间值的则舍,大于或等于这个中间值的则入。下舍上入法的主要优点是精度高,累积误差小,都优于恒置法。下舍上入法的主要缺点是实现起来比较困难,因为在舍入之后可能要再次进行右规格化。目前,下舍上入法已很少实际使用,主要用于用软件实现的浮点运算中。

Ⅲ错误。恒置法的舍入规则是:把规格化尾数有效字长p位的最低一位置为r/2(r是尾数的基值),而不管超过有效字长之外的g位代码是什么。当尾数基值取2时,把尾数有效位的最低一位置为1;当尾数基值取16时,把尾数有效位的最低一位置为8。恒置法的主要缺点是表数精度比较低,这是由于尾数的最低位被恒置成了r/2,因此损失了一位精度。其主要优点是实现起来比较容易。目前,恒置法被广泛地应用在各种计算机系统中。

Ⅳ正确。最大误差最大的是恒置1法,最小的是0舍1入法。说明一下:恒置1,后面也许都是零,这时误差就为最后一位的1。恒置0和截断法是一样的,最大误差很接近1(取决于被舍掉的位数,如为2位,即为0.11,3位,即为0.111,但总是小于1的)。0舍1入法,误差最小,它总是小于等于最后一位的0.5。 13.8位补码0xA0扩展为16位应该是______。 (分数:2.00) A.0x00A0 B.0xA000 C.0xFFA0 √ D.0xA0FF

解析:[解析] 解法一:8位补码0xA0,二进制表示为1010 0000,原码为1110 0000,扩展为16位原码为1000 0000 0110 0000,对应补码为1111 1111 1010 0000,十六进制表示为0x FFA0。

解法二:扩充的规则其实跟移位是一样的,扩充可以看成我们将0xA0左移8位,并保留所有位,再右移8位。故原来的8位在原位置保持不变,前8位为右移产生的8位。根据移位规则,新产生的8位都为1,即答案为0x FFA0。

解法三:扩展位数是不改变数的值的,那么将其都转换为十进制,若值相当的选项,即为正确的答案。 8位补码A0=1010 0000对应值为-96。

A选项00A0=0000 0000 1010 0000对应值为正数,不对。

B选项A000=1010 0000 0000 0000对应值为-(2 +2 ),还是不对。 C选项FFA0=1111 11111010 0000对应值为-96,正确。

D选项A0FF=1010 0000 11111111对应值为-(2 +2 +1),不对。 故本题选C。

14.已知[X] 补 =1.101 0100,则[X/2] 原 等于______。 (分数:2.00) A.1

14

13

14

13

B.1 C.1 D.1

解析:[解析] [X] 补 =1.101 0100,求[X/2] 补 ,也就是将[X] 补 右移一位,得到[X/2] 补 =1.110 1010。 根据补码转原码的规则,“符号位不变,剩余位求反末位加1”,求得[X/2] 原 =1.001 0110。 解法二:

[X] 补 =1.101 0100,求[X] 原 ,根据补码转原码的规则,“符号位不变,剩余位求反末位加1”,求得[X]

=1.010 1100,易知[X/2] 原 =1.001 0110。

15.计算机运算溢出检测机制,采用双符号位,下列关于双符号位的说法中正确的有______。 Ⅰ.00表示正号,11表示负号

Ⅱ.结果的符号位为01时,称为上溢;结果的符号位为10时,称为下溢 Ⅲ.符号位都为00的两个数相加,运算结果有可能产生溢出 Ⅳ.符号位都为11的两个数相加,运算结果不会产生溢出 (分数:2.00) A.Ⅰ

B.Ⅰ、Ⅱ、Ⅳ C.Ⅰ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ √

解析:[解析] Ⅰ明显正确,这是规定。

Ⅱ可以通过举例进行检验,比如举个上溢的例子,两个比较大的正整数相加,如00 1100+00 1100=01 1000。还可以举个下溢的例子,故Ⅱ正确。

Ⅲ正确,当两个同符号的数相加(或者是相异符号数相减)时,运算结果有可能产生溢出。 Ⅳ错误,解释如上。 故本题选D。

16.两补码数相加,当______时表示结果溢出。 (分数:2.00) A.符号位有进位 B.最高数位有进位

C.符号位进位和最高数位的进位异或结果为0 D.符号位进位和最高数位的进位异或结果为1 √

解析:[解析] 题中描述的是进位判断法,当符号位进位与最高数值位进位相异或,即“异或”结果为1时表示产生溢出。

考生如果忘记了,可以通过举特例来得到答案。 如4位补码数(-8)+(-8)=-16溢出的情况。

对应补码为1000+1000=1 0000,符号位进位为1,最高数位进位为0,故排除C。 (-1)+(-1)=-2没有溢出的情况。

对应补码为1111+1111=1 1110,符号位进位为1,最高数位进位为1,故排除A和B。 故选D。

17.在IEEE 754标准中,若存储阶码的寄存器中内容为3DH,则阶码对应的十进制数为______。 (分数:2.00) A.61 B.-67 √ C.-61 D.-66

解析:[解析] 在IEEE 754标准中,尾数采用原码表示,阶码部分采用移码表示。

故移码3DH,对应二进制为0011 1101,转换为补码为1011 1101,转换为原码为1100 0011,对应十进制为-67。选B。

18.若寄存器内容为FCH,若它等于-4,则为______。 (分数:2.00)

A.原码 B.补码 √ C.反码 D.移码

解析:[解析] 首先FCH=1111 1100。 [-4] 原 =1000 0100,[-4] 反 =1111 1011。 [-4] 补 =1111 1100,[-4] 移 =0111 1100。

正数、负数的原码,反码,补码,移码关系如下图所示。

正数、负数的原码、反码、补码、移码的关系

19.下列关于BCD码的说法中,正确的有______。

Ⅰ.BCD编码既有二进制数的形式,又保持了十进制数的特点 Ⅱ.1011一定是非法的BCD码

Ⅲ.BCD编码可以作为人机联系的一种中间表示,也可以用它直接进行运算 Ⅳ.当将BCD码传送给运算器进行运算时,其结果需要修正。 (分数:2.00) A.Ⅰ、Ⅱ B.Ⅰ、Ⅲ C.Ⅰ、Ⅲ、Ⅳ √ D.Ⅱ、Ⅲ

解析:[解析] Ⅰ、Ⅲ明显正确。BCD码用二进制表示,且只表示0~9。

4位二进制数→16种代码。任意取其中10种代码→0~9。剩余代码就是非法的。常见的有8421码、2421码和余3码等,故Ⅱ错误,1011有可能是合法的也可能是非法的(在8421码中为非法码,在2421中表示十进制的5,在余3码中表示十进制的8)。所以把8421码与BCD码混为一谈,这是不准确的,8421码只是BCD码的一种。

BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将:BCD码传送给运算器进行运算时,其结果需要修正。 至于修正规则不需要掌握 。故Ⅳ正确。 20.使用12位寄存器能表示的BCD码的无符号整数的范围为______。 (分数:2.00) A.-99~99 B.0~999 √ C.0~4095 D.0~2047

解析:[解析] 寄存器存储的是二进制信息,12位二进制,对应3位。BCD码。每个BCD码表示10个数码,故能够表示10×10×10=1000个整数,故选B。 21.下列关于溢出的说法中,正确的是______。 (分数:2.00)

A.正数和负数相加,如果结果为负数(符号位为1),表明发生溢出 B.两个负数相加,如果结果为正数(符号位为0),表明发生溢出 √ C.浮点数的溢出与否由尾数的符号决定,比如[尾数]补=01,××…×为上溢 D.以上全错

解析:[解析] A错误,正数和负数相加不会产生溢出。 B正确。

C错误,当尾数出现01,××…×或10,××…×时,表示尾数溢出,这在定点加减运算中是不允许的,但在浮点运算中这不算溢出,可通过右规处理。右规时尾数右移一位,阶码加1。所以浮点机的溢出与否不是由尾数的符号位决定的,它是由阶码的符号决定,即[阶码] =01,××…×为上溢,需作溢出处理,补 [阶码] 补 =10,××…×为下溢,按机器零处理。

22.下列数中最小的数为______。 (分数:2.00) A.BIN:10010101 √ B.OCT:227 C.DEC:177 D.HEX:96

解析:[解析] “BIN”表示二进制,“OCT”表示八进制。“DEC”表示十进制,“HEX”表示十六进制。 A.BIN:10010101 转换为DEC:149 B.OCT:227 转换为DEC:151 C.DEC:152 转换为DEC:152 D.HEX:96 转换为DEC:150 所以本题的答案为A。

23.下列关于ASCII码的说法中,错误的是______。 (分数:2.00)

A.用9的ASCII码减去O的ASCII码得到的结果是9 B.ASCII码有7位码和8位码两种形式。

C.在一般的计算机系统中,西文字符编码普遍采用ASCII码 D.ASCII码中,\"a\"小于\"Z\" √

解析:[解析] A正确,ASCII码中,数字和英文字母都是按顺序排列的,即\"9\"-\"0\"=9。 B、C正确。属于识记类知识点。

D错误,在ASCII码中,大写字母的ASCII码值都比小写的小。如\"A\"=65,\"a\"=97。 24.两个6位移码111011和001101求和后的移码为______。 (分数:2.00) A.001000 B.011000 C.101000 √ D.111000

解析:[解析] 解法一:

[X+Y] 移 =[X] 移 +[Y] 补 =111011+101101=101000,故选C。 解法二:

直接转换为十进制数进行验证即可。 移码111011表示的十进制为27 移码001101表示的十进制为-19 求和后为8,移码为101000,故选C。

25.1011 1000是某定点小数的二进制补码,该小数的十进制数值为______。 (分数:2.00) A.184 B.-56 C.-0 √ D.-0

解析:[解析] 定点小数补码1011 1000,对应的原码为1100 1000,十进制为-(1/2+1/16)=-0.5625,故本题选C。

26.计算机内部采用二进制来编码所有信息拥有很多好处,其中包括______。 Ⅰ.二进制只有“0”和“1”,所以基本符号少,易于用稳态电路实现 Ⅱ.二进制的编码/计数/运算等规则简单

Ⅲ.二进制的“0”和“1”与逻辑命题的“真”和“假”对应,为逻辑运算和逻辑判断提供便利 Ⅳ.二进制便于阅读、记忆和书写 (分数:2.00) A.Ⅰ、Ⅱ

B.Ⅰ、Ⅱ、Ⅲ √ C.Ⅰ、Ⅲ、Ⅳ D.以上都是

解析:[解析] Ⅰ、Ⅱ、Ⅲ都是正确的。

计算机内部在进行信息的存储、传送和运算时,都是以二进制表示的。但在屏幕上交互信息时,二进制信息位数多,阅读、记忆不方便,故引入十六进制或八进制,这样人们在开发、调试程序和阅读机器内部代码时,能用十六进制或八进制来代替二进制信息,故Ⅳ错误。 27.计算机系统中常常采用补码进行运算的目的是______。 (分数:2.00) A.提高运算的速度 B.提高运算的精度 C.简化运算器的设计 √ D.便于程序员识别数据

解析:[解析] 计算机系统中采用补码后,减法运算可以化成加法来完成,故加减法运算可以采用同一套硬件线路实现,节省了硬件线路,简化运算器的设计,所以计算机系统常用补码进行运算。 28.大部分计算机内的减法是用______来实现的。 (分数:2.00)

A.将被减数加到减数中 B.从被减数中减去减数 C.补数的相加 √ D.从减数中减去被减数

解析:[解析] 为了方便加减运算,数据在计算机内部采用补码表示,且[A] 补 -[B] 补 =[A] 补 +[-B] 补 。 29.原码加减交替除法又称为不恢复余数法,因此______。 (分数:2.00)

A.不存在恢复余数的操作

B.当某一步运算不够减时,做恢复余数的操作 C.仅当最后一步余数为负时,做恢复余数的操作 √ D.当某一步余数为负时,做恢复余数的操作

解析:[解析] 在用原码加减交替法做除法运算时,商的符号位是由除数和被除数的符号位“异或”来决定的,商的数值是由除数、被除数的绝对值通过加减交替运算求得的。由于除数、被除数取的都是绝对值,因此最终的余数当然应该是正数。

如果最后一步余数为负,应该将该余数加上除数,将余数恢复为正数,此时不需要左移了,这就称为恢复余数。

30.计算机中的所有信息都以二进制表示的原因是______。 (分数:2.00)

A.物理器件特性所致 √ B.信息处理方便 C.运算速度快 D.节约元器件

解析:[解析] 二进制只有1和0两个状态,刚好和逻辑电路里的高低电平对应,所以是由物理器件的性能决定的。

31.计算机内都使用二进制表示信息,那么还要引入十六进制和八进制的原因是______。 (分数:2.00) A.节约元件 B.实现方便

C.可以表示更大范围的数

D.用于等价地表示二进制,便于阅读和书写 √

解析:[解析] 计算机内部在进行信息的存储、传送和运算时,都是以二进制形式来表示信息的。但在屏幕上或书本上写信息时,由于二进制信息位数多,阅读、记忆不方便,而十六进制、八进制和二进制的对应

关系简单,又便于阅读、记忆和书写,因此引入十六进制和八进制,使得程序员在开发、调试程序和阅读机器内部代码时,能方便地用十六进制和八进制来等价表示二进制信息。 32.十进制2014对应的十六进制形式是______。 (分数:2.00) A.2014 B.07DE √ C.3736 D.11111011110 解析:

33.假定某数x=-0100 1010B,在计算机内部的表示为0011 0110B,则该数所用的编码方法是______。 (分数:2.00) A.原码 B.反码 C.补码 D.移码 √

解析:[解析] x=-0100 1010B,则x的原码为1100 1010,反码为1011 0101,补码为1011 0110,移码为0011 0110。原码、反码、补码和移码的转换总结如下图所示。

正数、负数的原码、反码、补码、移码的关系

34.设机器数采用移码表示(含1位符号位),若寄存器内容为9BH,则对应的十进制数为______。 (分数:2.00) A.27 √ B.-97 C.-101 D.155

解析:[解析] 同一个数的补码与移码只相差一个符号位,移码9BH=(1001 1011) 2 ,同一个数的补码为0001 1011,即27。

35.若采用双符号位,则两个正数相加产生溢出的特征时,双符号位为______。 (分数:2.00) A.00 B.01 √ C.10 D.11

解析:[解析] 采用双符号位时,第一符号位表示最终结果的符号,第二符号位表示运算结果是否溢出。若第二位和第一位符号相同,则未溢出;若不同,则溢出。若发生正溢出,则双符号位为01;若发生负溢出,则双符号位为10。

如考生临时忘记,可用自己举例求证。这里举双符号位,双数值位的特例。 如3+3的情况,(00 11) 补 +(00 11) 补 =(01 10) 补 。正溢出。 如(-3)+(-3)的情况,(11 01) 补 +(11 01) 补 =(10 10) 补 。负溢出。 36.若浮点数尾数用补码表示,则下列数中为规格化尾数形式的是______。 (分数:2.00) A.1 B.0 C.0 D.1 √

解析:[解析] 解法一:

假设尾数为W,且基数为2,则当1>|W|≥1/2这个条件时,此浮点数为规格化数。 A补码:1.110 0000 原码:1.010 0000 绝对值小于1/2

B补码:0.011 1000 原码:0.011 1000 绝对值小于1/2 C补码:0.010 1000 原码:0.010 1000 绝对值小于1/2 D补码:1.000 1000 原码:1.111 1000 绝对值满足条件 故本题选D。 解法二:

当使用补码表示尾数时,要使得1>|W|≥1/2,当浮点数为整数时,和原码一样,最高位必须为1; 当浮点数为负数时,要使得1>|W|≥1/2,最高位必须为0,否则求反加1回到原码时就会造成|W|<1/2,故补码表示尾数规格化后的形式为:0.1×××…×或者1.0×××…×。 根据这个总结,选D。

37.IEEE 754标准中,用于表示浮点数阶码的编码通常是______。 (分数:2.00) A.原码 B.补码 C.反码 D.移码 √

解析:[解析] IEEE 754标准中,阶码是使用移码来表示,尾数使用的是原码表示。 38.若某数采用IEEE 754单精度浮点数格式表示为4510 0000H,则其值是______。 (分数:2.00) A.(+1 B.(+1 √ C.(+0 D.(+0

解析:[解析] IEEE 754标准中,单精度浮点数格式见表1。

表1 单精度浮点数格式 符号位 阶码 尾数 总位数 占1位 占8位 占23位 占32位 4510 0000H的二进制表示为: ,按照浮点数格式分段后的格式见表2。

表2 4510 0000H的浮点数格式 符号位 阶码 1 0 8 尾数 23 总位数 32 阶码为1000 1010,原码为1000 1010-0111 1111=0000 1011,对应十进制为11。(此处要注意IEEE 754标准的移码比较特殊,差值是0111 1111)

尾数为1.001,对应的十进制为1.125。(此处也要注意,IEEE 754的尾数隐藏了首位的1)。 故本题选B。

39.假定两种浮点数表示格式的位数都是32位,但格式1的阶码长,尾数短,而格式2是对格式1进行了修改,阶码减少了1位,尾数增加了1位,其他所有规定都相同,则它们可表示的数的精度和范围为______。 (分数:2.00)

A.两者可表示的数的范围和精度均相同 B.格式1可表示的数的范围更小,但精度更高 C.格式2可表示的数的范围更小,但精度更高 √ D.格式1可表示的数的范围更大,但精度更高

解析:[解析] 本题其实很简单,阶码越长那么能表示的最大正数和最小负数的绝对值就最大,而最大正数和最小负数其实就是表示了数的范围。故格式1可表示的数的范围更大,格式2可表示的数的范围更小。排除了A,B选项。

很明显,尾数越长,精度越高,则格式2的精度更高,格式1的精度更低,故选出正确答案C。

1000 1010 001 0000 0000 0000 0000 0000 40.假定下列字符编码中含有奇偶校验位,但都没有发生数据错误,那么采用偶校验的字符编码是______。 (分数:2.00) A.1101 0011 B.1110 0110 C.1011 0010 √ D.1011 0101

解析:[解析] 奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。

反过来,既然都没有发生数据错误,那么“1”的个数为奇数的即为奇校验,否则为偶校验。故本题选C。 41.若8位信息位为11011 100,生成多项式G(x)=x +x +x+1,则生成的CRC码为______。 (分数:1.00) A.1101 1100 0010 0 B.1101 1100 0000 0 C.1101 1100 0001 0 √ D.1001 1100 0000 0

解析:[解析] 设C(x)为信息多项式,G(x)为生成多项式。 CRC码的生成步骤如下:

1)将x的最高幂次为R的生成多项式G(x)转换成对应的R+1位二进制数。 2)将信息码左移R位,相当与对应的信息多项式C(x)×2 。 3)用生成多项式(二进制数)对信息码做除,得到R位的余数。 4)将余数拼到信息码左移后空出的位置,得到完整的CRC码。 有效信息M(x)=1101 1100,可知n=8;

由G(x)=110011,由于G(x)为k+1位,可知k=5;

故将有效信息左移5位后再被G(x)模2除,即11011100 0000 0。 5

所以M(x)×x +R(x)=11011 100 0001 0即为CRC码。

总的信息位为13位,有效信息位为8位,冗余位(检测位)为5位。 42.无符号整数1001 0101B右移一位后的值为______。 (分数:1.00) A.0100 1010B B.0100 1010B √ C.0010 1010B D.1100 1010B

解析:[解析] 无符号整数无论左移还是右移,都补0。

[注意] 所有移位操作的题目,都可以化成十进制进行求解或验算。左移n位相当于对应的十进制数×2 ,右移n位相当于对应的十进制数×2 。

43.在补码加/减运算部件中,无论采用双符号位还是单符号位,必须有______电路,它一般用“异或”门来实现。 (分数:1.00) A.移码 B.编码

C.溢出判断 √ D.移位 解析:

44.某计算机字长为8位,其CPU中有一个8位加法器。已知无符号数x=69,y=38,现要在该加法器中完成x-y的运算,此时该加法器的两个输入端信息和输入端的低位进位信息分别为______。 (分数:1.00)

-n

n

R

5

4

A.0100 0101B、0010 0110B、0 B.0100 0101B、1101 1001B、1 √ C.0100 0101B、1101 1010B、0 D.0100 0101B、1101 1010B、1

解析:[解析] 这类题目对加法的处理很简单,重点要明白加法器对减法的处理。 对于减法是把减数求反,然后输入端的低位进位信号置1。(回忆补码的求法) 明白了这个道理,就很容易得出B选项,只有B选项将被减数求反。

45.某8位计算机中,假定带符号整型变量x和y的机器数用补码表示,[x] 补 =F5H,[y] 补 =7EH,则x-y的值及其相应的溢出标志(OF)分别是______。 (分数:1.00) A.115、0 B.119、0 C.115、1 D.119、1 √

解析:[解析] [x] 补 =F5H=11 11 1001

[y] 补 =0111 1110,则[-y] 补 为[y] 补 连同符号位取反,末位加1得到[-y] 补 =1000 0010。 则[x-y] 补 =[x] 补 +[-y] 补 =1111 1001+1000 0010= 则x-y=119,溢出标志(OF)为1。

46.假定有两个整数用8位补码分别表示为A=F5H,B=EEH。若将运算结果存放在同样用8位补码表示的寄存器中,则下列运算中会发生溢出的是______。 (分数:1.00) A.A+B B.A-B C.A×B √ D.都不溢出

解析:[解析] 简单题,最直接的方法是把A,B对应的十进制真值算出来,算出各表达式结果,看是否超出8位补码的表示范围[-128,+127]即可。 A为-11,B为-18。 A+B=-29,在范围内 A-B=7,在范围内 A×B=198,溢出。 故本题选C。

47.假定一次ALU运算和一次移位各占用1个时钟周期,则最快的32位原码一位乘所需要的时钟周期数大约为______。 (分数:1.00) A.32 B.64 √ C.96 D.128

解析:[解析] 一般n位数相乘,由n位加法器来实现。

则需要n次加法,n次移位。在本题的情况,就是32次ALU运算,32次移位,又一次ALU运算和一次移位各占用1个时钟周期,则总的时钟周期数为64。故本题选B。

48.若两个(用IEEE 754单精度浮点数格式表示)的float型变量x和y的机器数分别表示为x=40E8 0000H,y=C204 0000H,则在计算x+y时,第一步对阶操作的结果[ΔE] 补 为______。 (分数:1.00) A.0000 0111B B.0000 0011B C.1111 1011B

D.1111 1101B √

解析:[解析] IEEE 754标准中,单精度浮点数格式见下表。

单精度浮点数格式 符号位 阶码 尾数 总位数 占1位 占8位 占23位 占32位 x,y的二进制表示如下:

设x的阶码为jx,y的阶码为jy。

则[jx] 移 =1000 0001,[jy] 移 =1000 0100。

[ΔE] 补 =[jx-jy] 补 =[jx] 补 -[iy] 补 =[jx] 移 -[jy] 移 =1000 0001-1000 0100=1111 1101。故本题选D。 49.已知X=11001100,Y=00110011,则X∧Y值为______。 (注:∧为“异或”运算符) (分数:1.00) A.11000011 B.11111111 C.00000000 √ D.00111100

解析:[解析] 真“异或”假的结果是真,假“异或”真的结果也是真,真“异或”真的结果是假,假“异或”假的结果是假。就是说两个值不相同,则“异或”结果为真。反之,为假。不同为1,相同为0,如1001“异或”1010等于0011。

根据上面的解释,易得C选项为正确选项。

50.下列为8位移码机器数[X] 移 ,当求[-X] 移 ,______将会发生溢出。 (分数:1.00) A.1111 1111 B.0000 0000 √ C.1000 0000 D.0111 1111

解析:[解析] 根据下图,我们来识记各种码(8位和n位)的表示范围(见下表)。

正数、负数的原码、反码、补码、移码的关系

各种码的表示范围 原码 -127~127 -(2 n -1)~(2 n -1) 反码 -127~127 -(2 n -1)~(2 n -1) 补码 -128~127 -2 n -(2 n -1) 移码 -128~127 -2 n -(2 n -1) 要使[-X] 移 溢出,则-X<-128或者-X>127,即X>128或X<-127。 A选项移码为1111 1111,补码为0111 1111,原码为0111 1111,十进制值为127,不在溢出范围。 B选项移码为0000 0000,补码为1000 0000,对应补码最小值,十进制值为-128,满足X<-127条件,故答案为B选项。

C选项移码为1000 0000,补码为0000 0000,原码为0000 0000,十进制值为0,不在溢出范围。 D选项移码为0111 1111,补码为1111 1111,原码为1000 0001,十进制值为-1,不在溢出范围。 综上,本题选B。

51.若[X] 补 =x 0 x 1 x 2 …x n ,其中x 0 为符号位,x 1 为最高数位。若______,则当补码左移时,将会发生溢出。 (分数:1.00) A.x0=x1 B.x0≠x1 √ C.x1=0 D.x1=1

解析:[解析] 这类题目举例解题是最清晰和快速的方法,左移操作即×2,若×2后超过n位补码表示范围则溢出,反之则不溢出。 假设n=8的情况:

1)X=32,X的补码表示为0010 0000,x 0 =0,x 1 =0。

X×2=64,仍然在8位补码表示范围[-128,127]内,不溢出,故排除A,C选项。 2)X=-32,X的原码表示为1010 0000,补码表示为1110 0000,x 0 =1,x 1 =1。 X×2=-64,仍然在8位补码表示范围[-128,127]内,不溢出,故排除D选项。 通过排除法,我们得到了正确答案B。

52.x=-0.875×2 ,y=0.625×2 ,设用7位浮点数来表示,格式见下表:

1

2

浮点数的格式 阶符 阶码 符号位 尾数 1bit 2bit 1bit 3bit 其中,阶码用原码表示,尾数用补码表示,基数为2,那么求出z=x-y的二进制浮点数规格化结果是______。 (分数:1.00) A.1011011 B.0111011 √ C.1001011 D.以上都不是

解析:[解析] 解法一:

0.875=0.5+0.25+0.125,则x的原码为1.111,补码为1.001; 0.625=0.5+0.125,则-y的原码为1.101,补码为1.011;

因为x的阶数为1,y的阶数为2,所以要进行对阶,保留y的阶数2,把x的尾数右移一位,阶数变为2。(x是负数,右移补1)。于是右移后的x尾数为1.100。

相加:1.100+1.011=10.111,结果出现溢出(符号位进位和最高数位的进位异或结果为1),需要右规:将结果右移一位,得到1.011。同时阶码变为3,表示为11,最终得到0111011。 故选B。 解法二:

写出x和y的十进制表示,算出十进制的z,将其转换为规格化的浮点数即可。 x-y=-4.25。

-4.25=0.53125×23,可知尾数的绝对值在1/2和1之间,符合规格化数的要求,阶码即为11。 -0.53125=-(0.5+0.3125),则对应的二进制原码表示为1.10001,补码为1.01111,由于数值位只有三位表示,取1.011。

综上得到0111011,选B。

53.用补码双符号位表示的定点小数,下述哪种情况属负溢出?______ (分数:1.00) A.11 1111100 B.01 0000100 C.10 0011000 √ D.00 1000000

解析:[解析] 记住下面两句话即可。

1)无论溢出与否,第一符号位始终表示的是结果的正确符号。 2)若进位将会导致符号位不一致,则表示溢出,反之,则没有溢出。 从这两句话,我们就可以判断出: 11符号表示——无溢出且符号为负。 01符号表示——正溢出。 10符号表示——负溢出。

00符号表示——无溢出且符号为正。 因此,易得C为负溢出的情况。

54.影响ALU运算速度的关键因素是______。 (分数:1.00) A.进位的速度 √ B.选用的门电路 C.计算机的频率 D.计算的复杂性 解析:

二、综合应用题(总题数:2,分数:6.00)

55.设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87

(分数:3.00)

__________________________________________________________________________________________ 正确答案:()

解析:真值与不同机器码的对应关系见下表。

真值与不同机器码的对应关系 真值 十进制 二进制 -13/64 -0.00 1101 1.001 1010 1.110 0101 1.110 0110 29/128 0.001 1101 0.001 1101 0.001 1101 0.001 1101 100 110 0100 0.110 0100 0.110 0100 0.110 0100 -87 -101 0111 1.101 0111 1.010 1000 1.010 1001 56.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。 分别写出51/128、-27/1024、7.375、-86.5所对应的不同要求的机器数。要求如下: 1)阶码和尾数均为原码。 2)阶码和尾数均为补码。 3)阶码为移码,尾数为补码。 (注:题意中应补充规格化数的要求。)

(分数:3.00)

__________________________________________________________________________________________ 正确答案:()

解析:据题意画出该浮点数的格式如图1所示。

原码 反码 补码 图1 该浮点数的格式(一)

注意:

1)正数补码不“变反+1”。 2)机器数末位的0不能省。 将十进制数转换为二进制数:

x1=51/128=(0.011 001 1) 2 =2 ×(0.110 011) 2 x2=-27/1024=(-0.000 001 101 1) 2 =2 ×(-0.110 11) 2 x3=7.375=(111.011) 2 =2 ×(0.111 011) 2

x4=-86.5=(-1 010 110.1) 2 =2 ×(-0.101 011 01) 2 则以上各数的浮点规格化数为: 1)[x1] 浮 =1,0001;0.110 011 000 0 2)[x1] 浮 =1,1111;0.110 011 000 0 3)[x1] 浮 =0,1111;0.110 011 000 0 1)[x2] 浮 =1,0101;1.110 110 000 0 2)[x2] 浮 =1,1011;1.001 010 000 0 3)[x2] 浮 =0,1011;1.001 010 000 0 1)[x3] 浮 =0,0011;0.111 011 000 0 2)[x3] 浮 =0,0011;0.111 011 000 0 3)[x3] 浮 =1,0011;0.111 011 000 0 1)[x4] 浮 =0,0111;1.101 011 010 0 2)[x4] 浮 =0,0111;1.010 100 110 0 3)[x4] 浮 =1,0111;1.010 100 110 0 注:以上浮点数也可采用如图2所示的格式。

图2 该浮点数的格式(二)

此时只要将上述答案中的数符位移到最前面即可。

7

3

-5

-1

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务