信管网 > 某计算机有14条指令,其使用频度分别如下表所示;I10.15I20.15I30.14I40.13I5 > 网友跟帖  
 

某计算机有14条指令,其使用频度分别如下表所示;I10.15I20.15I30.14I40.13I5[查看全文]

 
 

以下网友评论只代表 信管网网友 个人观点,不代表信管网观点 [发表评论]

 
网友最新跟帖 评论共 0[发表评论]

信管网刘文成123***:   [回复]
一直不会

信管网cnitpm606012210***:   [回复]
(网上找来的,这道题应该是少了4条指令的频度)采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群,让使用频度较高的6条指令用3位操作码编码表示。例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码。留下110和111两个3位码作为长码的扩展标志,相当于一个二进制位,再扩展2位二进制码,既相当与共有3位。从而用5位码就可以表示8条使用频度较低的指令,由此可求得操作码的平均码长为:3*(0.15+0.15+0.14+0.13+0.12+0.11)+5*(0.04+0.04+0.03+0.03+0.02+0.02+0.01+0.01)=3.4

信管网caosu***:   [回复]
2^3=8<14;2^4=16>14;所以至少4位编码。 而两种长度的编码,由于题目中给出的指令的执行频度,且要求“平均码长至少为...”,抛开“两种码长”这个限制,我们应会毫不犹豫的选哈夫曼编码,所以,我们可以先构造一棵哈夫曼树

共有:0条记录,每页20条,当前第1/0页,首页 上一页 | 下一页 尾页
 
  发表评论  
 
 点击刷新 请输入显示的内容