自适应算术编码的程序
信息论与编码
/******************自适应模式算术编码 **********************/
#include<math.h>
#include<string.h>
#include<stdio.h>
double proc[]={0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10};
int Num[10]={1,1,1,1,1,1,1,1,1,1};
double result,areaBegin,areaEnd;
int cord[1000],cordLength;
char str[1000];
int strLength=0;
bool readdat()
{
printf("*********** 自适应模式算术编码 ***********\n");
printf("请输入字符串(0--9): \n");
scanf("%s",str);
while(str[strLength]!='\0')
strLength++;
for(int i=0;i<strLength;i++) //输入是否合法
if(str[i]>'9' || str[i]<'0') return 1;
return 0;
}
void encord()
{
int sum=10;
int i;
printf(" 编 码 :");
double w=0.0,len;
areaBegin=0.0,areaEnd=1.0;
for(i=0;i<strLength;i++)
{
int n=str[i]-'0',k; w=0.0;
for(k=0;k<n;k++) w += proc[k]; //计算所在区间
len=areaEnd-areaBegin; //计算新的区间
areaEnd = areaBegin+len*(w+proc[k]);
areaBegin += len*w;
Num[n]++;
sum++;
for(int l=0;l<10;l++)
{
proc[l]=Num[l]/double(sum);
}
你可能喜欢
- 信息与编码
- 信息编码
- c++经典代码大全
- 图像分割论文
- 信息报告
- 数据算法
- 信息与编码 第7章加密编码185页
- 信息与编码 第6章信道编码1111页
- 信息与编码 第5章信源编码102页
- 信息与编码复习要点12页
- 信息与编码理论实验指导书8页
- 07信息与编码复习题4页
- 信息论与编码7页
- 信息论与编码理论基础(第三章)195页
- 信息论与编码理论基础(第一章)31页
- 信息论与编码习题参考答桉146页
- 信息编码试题3页
- 信息论与编码试题集与答案(新)36页
- 医学图像分割方法研究论文6页
- 基于蚁群算法和监督聚类的图像分割论文8页
- 基于遗传算法的数字图像分割论文11页
- 图像分割水平集论文4页
- 论文图像分割(0615xiu2)_ (1)41页
- 计算机应用技术论文:图像分割 模糊C均值 粒子群优化算法 混沌粒子群优化算法4页
- 数据结构图算法8页
- 数据结构与算法总论8页
- 数据结构与算法笔试题9页
- 数据结构与算法分析9页
- 数据结构与算法设计课程设计22页
- 数据结构算法设计题复习题11页


