📄 ac_simple1.c
字号:
//*********************************************************************************************
//Simple arithmetic coding program for the example of Witten and Neal's paper---
// ---arithmetic coding for data compression(Communications of ACM,June 1987 Volume 30 Number 6)
//
//******************************************************************************************
static double low;
static double high;
void start_encoding();
void encode_symbol(int,double *);
int main(int argc, char* argv[])
{
double c_freq[7]={1,0.9,0.8,0.6,0.5,0.2,0}; //AC Models
int sym[5]={5,6,4,4,1};
int i;
start_encoding();
for(i=0;i<5;i++)
encode_symbol(sym[i],c_freq);
return 0;
}
void encode_symbol(int symbol,double *cum_freq)
{
double range;
range=high-low;
high=low+cum_freq[symbol-1]*range;
low=low+cum_freq[symbol]*range;
}
void start_encoding()
{
low=0;
high=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -