资源简介

数据压缩 算术编码 c++ 程序,包括编码和译码 售后服务QQ:857997674 有任何疑问或问题,请咨询QQ

资源截图

代码片段和文件信息

#include
#include
#include
#include
using namespace std;

int n=4;
string str[4]={“00““01““10““11“};
double p[4]={0.10.40.20.3};
double ab[4][2];

string comp(double zdouble y)
{
string s;
for(;;)
{
z=z*2;
y=y*2;
string ztyt;
if(z>=1) 
{
     zt=“1“;
 z=z-1;
}
else zt=“0“;
if(y>=1) 
{
     yt=“1“;
 y=y-1;
}
else yt=“0“;
if(zt==yt) s+=zt;
else
{
s+=“1“;
break;
}
}
return s;
}
void ac(string sign[])
{
int l=7;
double zy;
for(int i=0;i {
cout<<“ “< for(int j=0;j {
if(str[j]==sign[i])  
{
if(i==0)
{
z=ab[j][0];
y=ab[j][1];
}
else
{
double c=z+(y-z)*ab[j][0];
double d=z+(y-z)*ab[j][1];
z=c;
y=d;
}
}
}
}
cout< cout<<“\n  的编码为:“<<

评论

共有 条评论