自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實現(xiàn)C++算術(shù)編碼

開發(fā) 后端
算術(shù)編碼在圖象數(shù)據(jù)壓縮標(biāo)準(zhǔn)中扮演了重要的角色。在C++語言的C++算術(shù)編碼中,消息用0到1之間的實數(shù)進(jìn)行編碼。

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

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

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

編碼程序如下:

  1. #include <iostream.h> 
  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."<<endl;  
  23. for(int i=0;i<N;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."<<endl;  
  31. count=i;  

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

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實現(xiàn)方式上的一點區(qū)別
  2. C++編譯器如何對Const常量進(jìn)行分配存儲空間
  3. C++類庫設(shè)計的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來源: 博客園
相關(guān)推薦

2009-07-16 10:20:21

赫夫曼編碼

2024-04-10 12:14:36

C++指針算術(shù)運算

2010-01-13 18:44:03

C++編譯

2021-10-20 14:03:06

C++運算符類型

2016-01-28 14:41:06

CC++編碼

2023-10-30 10:29:50

C++最小二乘法

2010-01-26 15:51:06

C++變量

2011-07-20 16:16:03

CC++

2020-09-09 09:48:28

C++語言Rust

2010-01-27 16:39:48

C++編譯器

2010-01-22 13:31:58

C++標(biāo)準(zhǔn)庫

2024-05-06 11:19:20

內(nèi)存池計算機(jī)編程

2010-01-28 10:33:10

C++開發(fā)程序

2010-01-27 09:38:27

C++書籍

2010-01-26 10:53:58

學(xué)C++

2010-01-28 13:35:41

調(diào)用C++函數(shù)

2010-02-03 16:35:45

C++回文

2010-01-22 13:45:36

C++代碼

2010-02-05 18:09:28

C++ Doxygen

2010-02-03 10:50:33

C++多態(tài)
點贊
收藏

51CTO技術(shù)棧公眾號