首页 算术编解码实验报告

算术编解码实验报告

举报
开通vip

算术编解码实验报告一、实验目的1.进一步学习C语言概念和熟悉VC编程环境。2.学习算术编码基本流程,学会调试算术编码程序。3.根据给出资料,自学自适应0阶算术编、解码方法。二、实验要求:(1)实验前编写源程序、准备测试数据。(2)在TurboC下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因,并设法更正之。三、实验内容编程实现任给n个概率和为1的随机分布字符,对任意排列的字符序列进行算术编码,计算平均码长。得到编码结果并进行解码#include#include"math.h" //定义所需要用到的变量及数组cha...

算术编解码实验报告
一、实验目的1.进一步学习C语言概念和熟悉VC编程环境。2.学习算术编码基本 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ,学会调试算术编码程序。3.根据给出资料,自学自适应0阶算术编、解码方法。二、实验要求:(1)实验前编写源程序、准备测试数据。(2)在TurboC下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因,并设法更正之。三、实验内容编程实现任给n个概率和为1的随机分布字符,对任意排列的字符序列进行算术编码,计算平均码长。得到编码结果并进行解码#include#include"math.h" //定义所需要用到的变量及数组charS[100],A[10];float P[10],f[10],gFs;//编码程序 voidbianma(inta,inth){ inti,j;floatfr;floatps=1; floatFs=0;floatSp[100],b[100],F[100]; //以待编码的个数和字符个数为循环周期,将待编码的字符所对应的概率存入到Fs中 for(i=0;i(int)l)l=(int)l1; elsel=int(l); //将Fs转换成二进制的形式 intd[20];intm=0;while(l>m) { Fs=2*Fs; if(Fs>1) {  Fs=Fs-1; d[m]=1; } elseif(Fs<1)d[m]=0; else{d[m]=1;break;}   m; } intz=m;//解决有关算术编码的进位问题,给二进制数加1 if(m>=l){ while(1){     d[m-1]=(d[m-1]1)%2;//最后位加1 if(d[m-1]==1)break; elsem--; }  } cout<<"s="; for(inte=0;e-1;j--)  {  Ft=Fs;  Pt=Ps;       Ft=Pt*f[j];//对进行逆编码    Pt*=P[j];  if(gFs>=Ft)//对其进行判断,并且将值存入到数组A中 {  Fs=Ft;  Ps=Pt;  cout<>a; cout<<"请输入符号及其相对应的概率值,并按回车跳转:"<>x;  A[i]=x;//将字符依次存入数组A中  cin>>y; P[i]=y;//将字符所对应的概率依次存入到数组P中  } for(i=1;i>ss; if(ss=='*')break;//在以“*”为结尾的时候结束存储    S[h]=ss; } cout<<"输入的字符经过算术编码之后为:"<
本文档为【算术编解码实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:10
分类:
上传时间:2022-08-05
浏览量:1