![數(shù)據(jù)壓縮1大作業(yè)_第1頁](http://file4.renrendoc.com/view/1e57ca6e0e43c1b0519b4289afd99309/1e57ca6e0e43c1b0519b4289afd993091.gif)
![數(shù)據(jù)壓縮1大作業(yè)_第2頁](http://file4.renrendoc.com/view/1e57ca6e0e43c1b0519b4289afd99309/1e57ca6e0e43c1b0519b4289afd993092.gif)
![數(shù)據(jù)壓縮1大作業(yè)_第3頁](http://file4.renrendoc.com/view/1e57ca6e0e43c1b0519b4289afd99309/1e57ca6e0e43c1b0519b4289afd993093.gif)
![數(shù)據(jù)壓縮1大作業(yè)_第4頁](http://file4.renrendoc.com/view/1e57ca6e0e43c1b0519b4289afd99309/1e57ca6e0e43c1b0519b4289afd993094.gif)
![數(shù)據(jù)壓縮1大作業(yè)_第5頁](http://file4.renrendoc.com/view/1e57ca6e0e43c1b0519b4289afd99309/1e57ca6e0e43c1b0519b4289afd993095.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
——算數(shù)編碼壓縮與解壓縮程序 2.1編碼器的實(shí)現(xiàn)試驗(yàn)背景及目的霍夫曼方法比香農(nóng)-費(fèi)諾方法更有效,但這兩種方法都很少能產(chǎn)生最佳變長的平均長度等于熵)。算數(shù)編碼克服了這個(gè)問題,它是把一個(gè)碼字(通常較長)試驗(yàn)內(nèi)容步驟m到2m個(gè)二進(jìn)制字的范圍。ii|(u-l+1)*CumCount(x-1)||(u-l+1)*CumCount(x)|.2.2解碼器的實(shí)現(xiàn)器實(shí)現(xiàn)就很好描述了。u|(u-l+1)*CumCount(x-1)||(u-l+1)*CumCount(x)|算法流程|(u-l+1)根Cum_Count(x)|{{}}{對l和u的(新)最高位求反}|(u-l+1)根Cum_Count(x)|{}{對l、u和t的(新)最高位求反}程序設(shè)計(jì)說明在程序壓縮包Arith中,算數(shù)編碼的實(shí)現(xiàn)程序文件為Arith.cpp,可在將data.txt文件中原來的數(shù)據(jù)覆蓋掉,再次運(yùn)行算數(shù)編碼的實(shí)現(xiàn)程序文件Arith.cpp即可得到測試結(jié)果,從而完成對程序壓縮性能的評價(jià)。價(jià)序壓縮性能評價(jià)做會(huì)顯得編碼結(jié)果比較亂),因此程序成功運(yùn)行后的編碼文件大小除綜上所述,本試驗(yàn)編寫的算數(shù)編碼壓縮與解壓縮程序不僅能完成各種符號(hào) 的壓縮比均大于1,因此本試驗(yàn)編寫的算數(shù)編碼壓縮與解壓縮程序具有較好的壓程序源代碼//定義相關(guān)變量并初始化//用來存儲(chǔ)從文件中讀入的字符串//文檔中字符的個(gè)數(shù)//字符總數(shù)intCKind=0;//文檔中字符的種類數(shù)intCount56]={0};//有效字符表中對應(yīng)字符出現(xiàn)次數(shù)intCumCount256]={0};//字符出現(xiàn)次數(shù)累加表intShowingTable};//有效字符表//主函數(shù){}//文件掃描函數(shù){FILE*fp1;{printf("數(shù)據(jù)加載失敗!\n");}for(i=0;i<FileLen;i++)//實(shí)現(xiàn)字符掃描{}//將有效字符移到新數(shù)組,同時(shí)編號(hào)forii<256;i++)//實(shí)現(xiàn)字符搬移{{}}{}{}//輸出統(tǒng)計(jì)結(jié)果printf("文件中共出現(xiàn)%d種字符,字符共計(jì)為%d個(gè)\n",CKind,TotalCount);//輸出字符統(tǒng)計(jì)表printf("字符該字符出現(xiàn)次數(shù)疊加次數(shù)\n");for(i=1;i<=CKind;i++)//實(shí)現(xiàn)字符搬移{printf("%d%d%d}for(i=0;i<FileLen;i++)//實(shí)現(xiàn)字符掃描{printf("%c",*(DataBuf+i));//輸出文件的各個(gè)字符}printf("\n");}intTurna[N]={0};//十進(jìn)制轉(zhuǎn)二進(jìn)制函數(shù){inta[N]={0};for(i=0;i<N;i++){}{}}//二進(jìn)制轉(zhuǎn)十進(jìn)制函數(shù){for(i=0;i<N;i++){}}intLowArray[N]={0};intHighArray[N]={0};//文件編碼函數(shù)//編碼輸出碼流{OldLow=0;//初始化下限stFILE*fp2;LL{printf("數(shù)據(jù)加載失敗!\n");}{ntjjCKindj{//按序?qū)⑤斎氲拿恳粋€(gè)字符與統(tǒng)計(jì)表中的字符進(jìn)行匹配{NewLow=OldLow+(OldHigh-OldLow+1)*CumCount[j-1]/{}得到新上限{}while(LowArray[0]==HighArray[0])//當(dāng)上下限最高位相同時(shí){{g}m{LowArray[m-1]=LowArray[m];}LowArray[N-1]=0;{hArraymHighArraym}}while(LowArray[0]==0&&LowArray[1]==1&&HighArray[0]==1&&HighArray[1]==0)//當(dāng)上下限的最高位和次高位分別為01和10時(shí),滿足{{LowArray[m-1]=LowArray[m];//下限數(shù)組低位補(bǔ)0HighArraymHighArraym1}LowArray[N-1]=0;LowArray[0]=(LowArray[0]+1)%2;//下限的最高位取反HighArrayHighArray0]+1)%2;//上限的最高位取反}}}}//將最終的下限編碼共12位添加到編碼碼流的最末位置{}for(i=0;i<N-1;i++){}}intIndex;//文件解碼函數(shù)//存儲(chǔ)從文件中讀入的壓縮碼//12位碼流元對應(yīng)的十進(jìn)制數(shù)//解碼判斷參量{FILE*fp3,*fpOut;FLAG{printf("數(shù)據(jù)加載失敗!\n");}foriiSubCodei化成程序中的二進(jìn)制碼流{}//寫出編碼得到的二進(jìn)制碼流printf("二進(jìn)制編碼結(jié)果為:\n");{}printf("\n");OldLow=0;//初始化下限for(i=0;i<N;i++){{}}printf("\n");printf("解碼結(jié)果為:\n");{for(i=0;i<N;i++){LowArray[i]=Turna[i];}1;//得到新上限for(i=0;i<N;i++){HighArray[i]=Turna[i];}while(LowArray[0]==HighArray[0])//當(dāng)上下限的最高位相同{{}for(i=0;i<N;i++){LowArray[i-1]=LowArray[i];}LowArray[N-1]=0;OldLow=NewLow;//更新上下限,進(jìn)行下一輪運(yùn)算}while(LowArray[0]==0&&LowArray[1]==1&&HighArray[0]==1&&{for(i=0;i<N;i++){LowArray[i-1]=LowArray[i];}LowArray[N-1]=0;LowArray[0]=(LowArray[0]+1)%2;//上下限及t的最高位取反OldLow=NewLow;//更新上下限,進(jìn)行下一輪運(yùn)算}ow{{}}FLAG++;}printf("\n");printf("\n");{printf("數(shù)據(jù)加載失敗!\n");}}測試數(shù)據(jù)文件本次試驗(yàn)共采用兩個(gè)文件完成對算數(shù)編碼程序的測試,一個(gè)為待壓縮文件data.txt,另一個(gè)為測試文件textdata.txt。兩個(gè)文件的具體內(nèi)容如下:Inaccordancewiththe“mainandcollateralchannels”theoryinTCM,theorgans.ItfeaturesintraditionalChinesemedicinethat“internaldiseasesaretobetreatedwithexternaltherapy”.Themaintherapyofacupunctureinvolvesusingstimulatethepatient’sacupointssoastostimulatethechannelsandrelievepain.Withmedicine,hasbeeninternationallyhailedasoneofthe“fournewnationaltreasures.”tatxte“artificialasitis,thegardenmustlookingeniousandnatural.”Whenyougoandriversfo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 2 Shopping Lesson2(說課稿)-2024-2025學(xué)年北師大版(三起)英語四年級(jí)上冊
- 2024年三年級(jí)品社下冊《馬路不是游戲場》說課稿 山東版
- 2024-2025學(xué)年高中地理 第4章 旅游與區(qū)域的發(fā)展 第1節(jié) 旅游業(yè)的發(fā)展及其對區(qū)域的影響說課稿 中圖版選修3
- Unit 1 Growing up 單元說課稿-2024-2025學(xué)年高中英語外研版(2019)選擇性必修第二冊
- 下城區(qū)汽車租賃合同范本
- 保安獎(jiǎng)罰合同范例
- 醫(yī)用耗材寄售合同范例
- 加貿(mào)合同范本
- 專利注冊合同范本
- 人工智能購銷合同范例
- 豐順縣縣級(jí)集中式飲用水水源地基礎(chǔ)狀況調(diào)查和風(fēng)險(xiǎn)評估報(bào)告
- 重慶市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 《七律二首 送瘟神》教案- 2023-2024學(xué)年高教版(2023)中職語文職業(yè)模塊
- 八年級(jí)語文上冊《作文》專項(xiàng)測試卷及答案
- 2024年中考語文滿分作文6篇(含題目)
- 2024年安全員之江蘇省C2證(土建安全員)題庫與答案
- 第一節(jié)-貨幣資金資料講解
- 2024年華僑、港澳、臺(tái)聯(lián)考高考數(shù)學(xué)試卷含答案
- 工程造價(jià)咨詢服務(wù)投標(biāo)方案(技術(shù)方案)
- 駕駛員安全行車考核獎(jiǎng)懲制度(3篇)
- 籃球俱樂部合伙協(xié)議
評論
0/150
提交評論