实验名称算编码.doc

实验名称算编码.doc

ID:58476498

大小:156.00 KB

页数:3页

时间:2020-05-15

实验名称算编码.doc_第1页
实验名称算编码.doc_第2页
实验名称算编码.doc_第3页
资源描述:

《实验名称算编码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、附页实验名称:算术编码一、实验目的(1)进一步熟悉算术编码过程。(2)掌握高级语言程序的设计和调试技术。二、实验设备计算机及相关软件(如C,C++,PASCAL,VC,DELPHI等等)。三、实验要求(1)输入:对于一个二元无记忆信源,输入一个二元序列(2)输出:这个二元序列对应的算术编码的码字。四、算法:算术编码不同于Huffman码,它是非分组码。它从全序列出发,考虑符号之间的依赖关系来进行编码的。其编码规则如下(1)计算信源符号的累积概率(2)初始时设,,(代表空集)(3)计算序列的累积概率和序列的

2、概率(4)计算码长(5)将写成二进制数的形式,取其前位作为序列的码字,若后面有尾数就进位到第位五、实验报告(1)实验原理(用流程图表示)。3附页(2)程序代码和结果图。#include#includefloatup(floatm);main(){floatF=0,Ap,A=1,l1;intj,l,i,F1,s[8]={1,1,1,1,1,1,0,0},p[100];for(i=0;i<8;i++){if(s[i]){Ap=A*pow(2,-2);F=F+Ap;A=A-Ap

3、;}else{A=A*pow(2,-2);}}l1=log(1.0/A)/log(2);l=up(l1);for(i=0;i<100;i++){F1=(int)(F*2);p[i]=F1;F=2*F-F1;}3附页for(i=l;i<100;i++){if(p[i]==1){p[l-1]++;for(j=l-1;j>=0;j--){if(p[j]>1){p[j]=0;p[j-1]++;}}break;}}for(i=0;i<8;i++){printf("%d",s[i]);}printf("算术编码后

4、得到s的码字为:");for(i=0;i

5、终于顺利完成.这次实验我进一步熟悉了算术编码的过程,对算术编码的算法有了更深刻的理解,而且还掌握高级语言程序的设计和调试技术。本次实验叙述了算术编码的基本方法,在实用中还需要考虑计算精度问题,存储量问题和近似值的选择问题。这是信息论的最后一次实验了,实验结束之后我最大的感想就是原来信息论并不是我们所想象的那样特别特别难,只要多看看书勤动手,了、就能将理论上所学的知识正确地应用到实际中。3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。