1)若某整数的16位补码为FFFFH(H表示十六进制),则该数的十进制值为______。
A.0
B.-1
C.2 16 -1
D.-2 16 +1
2)若某计算机采用8位整数补码表示数据,则运算______将产生溢出。
A.-127+1
B.-127-1
C.127+1
D.127-1
3)以下关于数的定点表示和浮点表示的叙述中,不正确的是______。
A.定点表示法表示的数(称为定点数)常分为定点整数和定点小数两种
B.在定点表示法中,小数点需要占用一个存储位
C.浮点表示法用阶码和尾数来表示数,称为浮点数
D.在总位数相同的情况下,浮点表示法可以表示更大的数
4)某机器字长为 n ,最高位是符号位,其定点整数的最大值为______。
A.2 n -1
B.2 n -1 -1
C.2 n
D.2 n -1
5)浮点数能够表示的数的范围是由其______的位数决定的。
A.尾数
B.阶码
C.数符
D.阶符
6)如果“2 X ”的补码是“90H”,那么 X 的真值是______。
A.72
B.-56
C.56
D.111
7)设有16位浮点数,其中阶符1位、阶码值6位、数符1位、尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是______。
A.-2 64 ~(1-2 -8 )2 64
B.-2 63 ~(1-2 -8 )2 63
C.-(1-2 -8 )2 64 ~(1-2 -8 )2 64
D.-(1-2 -8 )2 63 ~(1-2 -8 )2 63
8)移位指令中的______指令的操作结果相当于对操作数进行乘2操作。
A.算术左移
B.逻辑右移
C.算术右移
D.带进位循环左移
9)要判断字长为16位的整数 a 的低4位是否全为0,则______。
A.将 a 与0x000F进行“逻辑与”运算,然后判断运算结果是否等于0
B.将 a 与0x000F进行“逻辑或”运算,然后判断运算结果是否等于F
C.将 a 与0x000F进行“逻辑异或”运算,然后判断运算结果是否等于0
D.将 a 与0x000F进行“逻辑与”运算,然后判断运算结果是否等于F
10)以下关于两个浮点数相加运算的叙述中,正确的是______。
A.首先进行对阶,阶码大的向阶码小的对齐
B.首先进行对阶,阶码小的向阶码大的对齐
C.不需要对阶,直接将尾数相加
D.不需要对阶,直接将阶码相加
11)循环冗余校验码(CRC码)利用生成多项式进行编码。设数据位为 k 位,校验位为 r 位,则CRC码的格式为______。
A. k 个数据位之后跟 r 个校验位
B. r 个校验位之后跟 k 个数据位
C. r 个校验位随机加入 k 个数据位中 D. r 个校验位等间隔地加入 k 个数据位中
12)海明码利用奇偶性检错和纠错,通过在 n 个数据位之间插入 k 个校验位,扩大数据编码的码距。若 n =48,则 k 应为______。
A.4
B.5
C.6
D.7
13)海明码是一种纠错码,其方法是为需要校验的数据位增加若干校验位,使得校验位的值取决于某些被校位的数据,当被校位数据出错时,可根据校验位的值的变化找到出错位,从而纠正错误。对于32位的数据,至少需要加______个校验位才能构成海明码。
A.3
B.4
C.5
D.6
14)以10位数据为例,其海明码表示为 D 9 D 8 D 7 D 6 D 5 D 4 P 4 D 3 D 2 D 1 P 3 D 0 P 2 P 1,其中 Di (0≤ i ≤9)表示数据位, Pj (1≤ j ≤4)表示校验位,数据位 D 9由 P 4、 P 3和 P 2进行校验(从右至左 D 9的位序为14,即等于8+4+2,因此用第8位的 P 4、第4位的 P 3和第2位的 P 2校验),数据位 D 5由______进行校验。
A . P 4 P 1
B . P 4 P 2
C . P 4 P 3 P 1
D . P 3 P 2 P 1
15)以下关于采用一位奇校验方法的叙述中,正确的是______。
A.若所有奇数位出错,则可以检测出该错误但无法纠正错误
B.若所有偶数位出错,则可以检测出该错误并加以纠正
C.若有奇数个数据位出错,则可以检测出该错误但无法纠正错误
D.若有偶数个数据位出错,则可以检测出该错误并加以纠正
1)B。
根据补码定义,数值 X 的补码记作[ X ] 补 ,如果机器字长为 n ,则最高位为符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码等于其反码的末尾加1。
16位补码能表示的数据范围为[-2 15 -2 15-1 ]。对于整数2 16 -1和-2 16 +1,数据表示需要16位,再加一个符号位,共17位,因此不在16位补码能表示的数据范围 Z 内。
在补码表示中,0有唯一的编码,[+0] 补 =0000000000000000,[-0] 补 =0000000000000000,即0000 H 。
[-1] 原 =1000000000000001,[-1] 反 =1111111111111110,因此-1的补码为[-1] 补 =1111111111111111=FFFF。
2)C。
釆用8位补码表示整型数据时,可表示的数据范围为-128~127,因此进行127+1运算会产生溢出。
3)B。
各种数据在计算机中表示的形式称为机器数,其特点是采用二进制计数制,数的符号用0、1表示,小数点则隐含表示而不占位置。机器数对应的实际数值称为数的真值。
为了便于运算,带符号的机器数可采用原码、反码、补码和移码等不同的编码方法。
所谓定点数,就是表示数据时小数点的位置固定不变。小数点的位置通常有两种约定方式:定点整数(纯整数,小数点在最低有效数值位之后)和定点小数(纯小数,小数点在最高有效数值位之前)。
当机器字长为 n 时,定点数的补码和移码可表示2 n 个数,而其原码和反码只能表示2 n -1个数(0表示占用了两个编码),因此定点数所能表示的数值范围比较小,运算中很容易因结果超出范围而溢出。
数的浮点表示的一般形式为 N =2 E × F ,其中 E 为阶码, F 为尾数。阶码通常为带符号的纯整数,尾数为带符号的纯小数。
很明显,一个数的浮点表示不是唯一的。当小数点的位置改变时,阶码也相应改变,因此可以用多种浮点形式表示同一个数。
浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。
4)B。
机器字长为 n ,最高位为符号位,则剩余的 n -1位用来表示数值,其最大值是这 n -1位都为1,也就是2 n -1 -1。
5)B。
在计算机中使用了类似于十进制科学记数法的方法来表示二进制实数,因其表示不同的数时小数点位置的浮动不固定而取名为浮点数表示法。浮点数编码由两部分组成:阶码(即指数,为带符号定点整数,常用移码表示,也有用补码表示的)和尾数(是定点纯小数,常用补码表示,也可用原码表示)。因此可以知道,浮点数的精度由尾数的位数决定,表示范围的大小则主要由阶码的位数决定。
6)B。
90H即为二进制的10010000。说明此数为负数,其反码为10001111,其原码为11110000,即-112,2 X =-112,所以 X =-56。
7)B。
如果浮点数的阶码(包括1位阶符)用 R 位表示,尾数(包括1位数符)用 M 位的补码表示,则浮点数表示的数值范围如下:
最大正数:+(1-2 -M +1 )×2(2 R -1 -1)。
最小负数:-1×2(2 R -1 -1)。
8)A。
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。在数字没有溢出的前提下,对于正数和负数,左移一位就相当于乘以2 1 ,左移 n 位就相当于乘以2 n 。
9)A。
判断是否为1,让1和它做“与”运算,为1时结果为1,不为1时结果为0。
10)B。
浮点数是小数点位置不固定的数。一个浮点数可以表示为 N =2 E × F 。浮点数的计算步骤是对阶、尾数运算、结果格式化。对阶时是小数向大数看齐,对阶小数是通过算术右移来实现的。
11)A。
循环冗余校验码广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为 k 个数据位产生 r 个校验位来进行编码,其编码长度为 k + r 。
12)C。
设数据位是 n 位,校验位是 k 位,则 n 和 k 必须满足以下关系:2 k -1≥ n + k 。若 n =48,则 k 为6时可满足2 6 -1≥48+6。
13)D。
海明码的构造方法是:在数据位之间插入 k 个校验位,通过扩大码距来实现检错和纠错。设数据位是 n 位,校验位是 k 位,则 n 和 k 必须满足以下关系:
2 k -1≥ n + k
数据为32位时,代入公式:
2 6 -1≥32+6
计算结果是需要6位。
14)B。
D 5在第10位,10=8+2=2 3 +2 1 ,由于校验码处理2 0 ,2 1 ,2 2 ,2 3 位,分别对应 P 1, P 2, P 3, P 4。因此, D 5由 P 4 P 2进行校验。
15)C。
奇校验:就是让原有数据序列中(包括要加上的一位)1的个数为奇数。
偶校验:就是让原有数据序列中(包括要加上的一位)1的个数为偶数。
使用1位码距时是无法识别出哪里错误的。