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

admin2009-05-15  24

问题 某计算机有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
转载请注明原文地址:https://kaotiyun.com/show/19JZ777K
0

相关试题推荐
最新回复(0)