软考初级

某计算机有14条指令,其使用频度如表2.10所示。这14条指令的指令操作码用等长码方式编码,其编码的码长至少为(10)位。若只用两种码长的扩展操作码编码,则其平均码长至少为(11)位。A.3B.4C.5D.6

题目

某计算机有14条指令,其使用频度如表2.10所示。这14条指令的指令操作码用等长码方式编码,其编码的码长至少为(10)位。若只用两种码长的扩展操作码编码,则其平均码长至少为(11)位。

A.3

B.4

C.5

D.6

参考答案和解析
正确答案:B
解析:使用等长编码方式,如果指令编码长度是3位,它能够表示23=8条指令,而24=16>14,所以至少要4位编码长度才能将这14条指令编码。哈夫曼编码技术是一种比较常用的变长编码方法,它采用的是一种优化静态编码方法,由该算法产生的二叉树具有最小的加权长之和∑WiLi,其中,Wj是哈大曼树中第j个叶节点的权值,Li为该叶节点到树根的距离。将题目转换为哈夫曼编码树,然后对其进行调整,如图2.23所示。这样,树中的所有节点的深度都为3或5,所以我们可以按照码长乘以频度,再累加的方法来计算平均码长:(0.15+0.15+0.14+0.1340.12+0.11)×3+(0.04+0.04+0.03+0.03+0.02+0.02+0.0140.01)×5=3.4
如果没有搜索结果,请直接 联系老师 获取答案。
更多相关问题