1.3.2 练习精解
1)B。
使用补码表示数据时,可以将符号位和其他位统一处理,减法也可按加法来处理,从而简化了运算部件的设计。
2)A。
浮点数在计算机中用于近似表示任意某个实数,一个浮点数a可如下表示:
a=M·2E
其中,尾数部分M的位数越多,数的精度越高,指数部分E的位数越多,能表示的数值越大。因此,在总长度固定的情况下,增加E的位数、减少M的位数可以扩大可表示的数的范围,同时精度被降低了。
3)A。
在机器中表示一个浮点数时,一是要给出尾数,用定点小数形式表示,尾数部分给出有效数字的位数,决定了浮点数的表示精度;二是要给出阶码,用整数形式表示,阶码指明小数点在数据中的位置,决定了浮点数的表示范围。
4)A。
正数的补码等于原码,负数的补码等于反码加1。
5)D。
汉字编码是对每一个汉字按一定的规律用若干个字母、数字、符号表示出来。我国在汉字编码标准化方面取得的突出成就是《信息交换用汉字编码字符集》国家标准的制定。
GB2312—80信息交换用汉字编码字符集是基本集,收入常用基本汉字和字符7445个。
GB7589—87和GB7590—87分别是第二辅助集和第四辅助集,各收入现代规范汉字7426个。
GB/T12345—90是辅助集,它和第三辅助集、第五辅助集分别是与基本集、第二辅助集、第四辅助集相对应的繁体字的汉字字符集。
6)D。
两个浮点数对阶的时候要把阶码小的数的尾数右移n位,与阶码大的数对齐。
7)D。
对于n位整数的补码,其取值范围是-2n-1~2n-1-1,以8位整数的补码为例,其有效取值范围是-27~27-1,也就是-128~127,只有D符合,其他都会越界。
8)A。
计算机系统运行时,各个部件之间要进行数据交换。为了确保数据在传送过程中正确无误,一是提高硬件电路的可靠性,二是提高代码的校验能力,包括查错和纠错。常用的三种校验码是:奇偶校验码、海明码和循环冗余码。
码距是指一个编码系统中任意两个合法编码之间最少的不同二进制位的个数,使用海明码时在数据位之间插入k个检验位,通过扩大码距来实现检验纠错。
9)A。
二进制数据在计算机系统中的表示方法是基本的专业知识。补码本身是带符号位的,补码表示的数字中0是唯一的,不像原码有+0和-0之分,也就意味着n位二进制编码可以表示2n个不同的数。
10)C。
海明码利用了奇偶校验位的概念,通过在数据位后面增加一些位(比特)可以验证数据的有效性。利用一个以上的校验位,海明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。2k≥k+m+1,其中k代表海明码的校验位个数,m代表数据位的个数。
11)D。
选项中只有循环冗余校验码会使用模2运算。
12)B。
在进行逻辑与“&&”运算时,只有当两个操作数的值为真,最后的结果才会为真。因此,一旦x的值为假,则整个运算表达式的值为假。
13)D。
当表示数据时,规定了位数后,其能表示的数值范围就确定了,在两个数进行相加运算的结果超出了该范围后,就会发生溢出。在二进制情况下,溢出时符号位将变反,即两个正数相加,结果的符号位是负数,或者两个负数相加,结果的符号位是正数。采用两个符号位时,溢出发生后两个符号位就不一致了,这两位进行异或的结果一定为1。