●在用二进制加法器对二一十进制编码的十进制数求和时,对有些结果需要修正。当和的四位二一十进制编码小于等于1001(相当于十进制数9)且向高位无进位时,(14);当和小于等于1001且向高位有进位时,(15);当和大于1001时,(16)。按照国标GB2312规定,一个汉字由(17)个字节组成。为了达到中西文兼容的目的,区分汉字与ASCIl码,汉字编码的最高位为(18)。
供选择的答案
(14)~(16):A.不需修正
B.必须进行减6修正
C.必须进行加6修正
D.无法修正
(17)、(18):A.1
B.0
C.2
D.2.5
答案:(14)A(15)C(16)C(17)C(18)A
解析:当和的四位二一十进制编码小于等于1001且向高位无进位时,加法结果不需要修正,其他情况均需要加6修正。GB2312规定,一个汉字由2个字节组成。汉字编码的最高位为1。
●一棵有9个叶子结点的哈夫曼(Huffman)树共有(19)个顶点。
(19)A.17
B.16
C.15
D.14
答案:(19)A
解析:哈夫曼(Huffman)树中没有度为l的分支结点。n个叶子经过n一1次合并,产生n一1个新结点。于是结点总数为n+n一1=17。本题也可以直接画出哈夫曼树而得到结果。
●如果仅知道一个指向链表中某结点的指针s,假设s的直接前驱P确实存在,则s所指结点数据元素与P的交换对于单链表(20),对于单循环链表来说(21),而对双向链表来说(22)。
(20)~(22)A.不可以交换
B.可以交换
C.无法确定
D.仅能交换一次
答案:(20)A(21)B(22)B
解析:对于单链表来说,仅知道一个结点的指针无法访问它的前驱结点,因此不能交换;对于单项循环链表来说,可以用一个指针沿着链表查找到s的前驱p,因此可以完成交换;而对于双向循环链表,同过s可以直接访问它的前驱P,因此可以交换。
●海明码是常用的“冗余校验”方法之一。在此方法中,若要求能检测出所有的双位错,并能校正单位错,则合法码字集中的码距至少为(23)。若原始数据的字长为5位,则采用海明码时其校验位至少为(24)位。对下面图1.1所示系统,仅当部件1,部件2和部件3全部正常工作时系统才能正常工作。图中数字为各部件的可靠性,整个系统的可靠性近似为(25)。如果将部件2和部件3改成由两个器件构成,如图1.2所示,只要器件a和b中有一个正常就能使部件2正常工作,只要器件c和d中有一个正常就能使部件3正常工作。图中数字是各器件可靠性,则部件2的可靠性是(26),整个系统的可靠性近似为(27)。
(23)~(24)A.4
B.3
C.2
D.无法确定
(25)A.0.6800
B.0.7268
C.0.8168
D.0.9000
(26)A.0.68
B.0.88
C.0.97
D.0.99
(27)A.0.816
B.0.910
C.0.924
D.0.936
答案:(23)B(24)A(25)B(26)C(27)B
解析:海明码是一种可以纠正一位差错的编码。它是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。能检测出所有的双位错,并能校正单位错。则合法码字集中的码距至少为3位。