日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何實現(xiàn)C++算術編碼

C++算術編碼用到了兩個基本的參數(shù):符號的概率和它的編碼間隔,信源符號的概率決定壓縮編碼的效率,也決定編碼過程中信源符號的間隔,編碼過程中的間隔決定了符號壓縮后的輸出。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、閩清網(wǎng)站維護、網(wǎng)站推廣。

C++算術編碼需要輸入的是符號,各個符號的概率還有需要編碼的符號序列,根據(jù)概率可以算出初始編碼間隔,先設幾個變量在后面可用:High——當前編碼的上限,Low——當前編碼的下限,high——中間變量,用來計算下一個編碼符號的當前間隔的上限,low——中間變量,用來計算下一個編碼符號的當前間隔的下限,d——當前間隔之間的距離。

第1個編碼符號的當前間隔為其初始的編碼間隔,第i個編碼符號的當前間隔為第i-1個編碼后的[Low,High),第i+1個編碼符號的當前間隔算法如下:high=Low+d*第i+1個初始編碼符號對應的上限,low=Low+d*第i+1個編碼符號對應的下限,然后High=high,Low=low,d=d*第i個編碼符號的概率。

編碼程序如下:

 
 
 
  1. #include  
  2. #define M 100  
  3. #define N 4  
  4. class suanshu  
  5. {   
  6. int count,length;  
  7. char number[N],n;  
  8. long double chance[N],c;  
  9. char code[M];  
  10. long double High,Low,high,low,d;  
  11. public:  
  12. suanshu()  
  13.   {High=0;Low=0;}  
  14. void get_number();  
  15. void get_code();  
  16. void coding();  
  17. ~suanshu(){}  
  18. };  
  19.  
  20. void suanshu::get_number()  
  21. {  
  22. cout<<"please input the number and its chance."<;  
  23. for(int i=0;i;i++)  
  24. {  
  25.   cin>>n>>c;  
  26.   number[i]=n;  
  27.   chance[i]=c;  
  28. }  
  29. if(i==20)  
  30.   cout<<"the number is full."<;  
  31. count=i;  

本C++算術編碼在VC6.0和xp專業(yè)版下運行通過,這是我個人***次用c++寫的比較完整的程序,還有些不盡人意的地方,比如變量和函數(shù)命名不太專業(yè),以后會注意,慢慢也會好的。


文章標題:如何實現(xiàn)C++算術編碼
本文鏈接:http://m.5511xx.com/article/dpdsdgh.html