在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

二進制數據壓縮算法

PoisonApple ? 來源:網絡整理 ? 2018-02-28 09:31 ? 次閱讀

二進制數據壓縮算法二進制是計算技術中廣泛采用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用“開”來表示1,“關”來表示0。

20世紀被稱作第三次科技革命的重要標志之一的計算機的發明與應用,因為數字計算機只能識別和處理由‘0’?!?’符號串組成的代碼。其運算模式正是二進制。19世紀愛爾蘭邏輯學家喬治布爾對邏輯命題的思考過程轉化為對符號“0‘’。‘’1‘’的某種代數演算,二進制是逢2進位的進位制。0、1是基本算符。因為它只使用0、1兩個數字符號,非常簡單方便,易于用電子方式實現。

二進制壓縮 - 算法

二進制壓縮

編程時遇到每個數據只有兩種狀態,且 dfs 或者 bfs 時遍歷時間復雜度高時,可以采用二進制壓縮數據,尤其是二維數組。

1.二進制壓縮一個二位數組

例如:

-+--

----

----

-+--

正常保存數據回使用二位數組,‘+’ -》 1,‘-’ -》 0,即

0100

0000

0000

010012345678910

如果我們采用二進制壓縮為一個 int 類型的數據,正好用 16 位來表示。

這里有兩種表示方法,其實都一樣,一種先從上到下變為從高位到低位,一種是從上到下變為從低位到高位。

從低位到高位

int input = 0;

int[][] data = new int[4][4];

Scanner sc = new Scanner(System.in);

String line = “”;

for (int i = 0; i 《 4; i++) {

line = sc.next();

for (int j = 0; j 《 4; j++) {

data[dataIn++] = line.charAt(j);

}

}

for (int i = 0; i 《 16; i++) {

if (data[i] == ‘+’) {

input |= (1 《《 i);

// System.out.println(Integer.toBinaryString(input));

}

}1234567891011121314151617

從高位到低位

int input = 0;

Scanner sc = new Scanner(System.in);

String line = “”;

for (int i = 0; i 《 4; i++) {

line = sc.next();

for (int j = 0; j 《 4; j++) {

input = input 《《 1;

input = line.charAt(i) == ‘+’ ? input + 1 : input;

}

}

二進制數據壓縮算法

LZFSE

1,zlib和gzip都對deflate進行了封裝,比deflate多了數據頭和尾

1,蘋果開源了新的無損壓縮算法 LZFSE ,該算法是去年在iOS 9和OS X 10.10中 引入 的。按照蘋果公司的說法,LZFE的壓縮增益和ZLib level 5相同,但速度要快2~3倍,能源效率也更高。

LZFSE基于Lempel-Ziv,并使用了 有限狀態熵編碼,后者基于Jarek Duda在

非對稱數字系統(ANS)方面所做的熵編碼工作。簡單地講,ANS旨在“終結速度和比率的平衡”,既可以用于精確編碼,又可以用于快速編碼,并且具有數據加密功能。使用ANS代替更為傳統的

Huffman和 算術編碼方法的壓縮庫 越來越多,LZFSE就位列其中。

顯然,LZFSE的目標不是成為最好或最快的算法。事實上,蘋果公司指出,

LZ4的壓縮速度比LZFSE快,而 LZMA提供了更高的壓縮率,但代價是比Apple

SDK提供的其他選項要慢一個數量級。當壓縮率和速度幾乎同等重要,而你又希望降低能源效率時,LZFSE是蘋果推薦的選項。

GitHub上提供了LZFSE的參考實現。在MacOS上構建和運行一樣簡單:

$ xcodebuild install DSTROOT=/tmp/l***se.dst

如果希望針對當前的iOS設備構建LZFSE,可以執行:

xcodebuild -configuration “Release” -arch armv7 install DSTROOT=/tmp/l***se.dst

除了 API文檔之外,蘋果去年還提供了一個 示例項目,展示如何使用LZFSE 進行塊和流壓縮,這是一個實用的LZFSE入門資源。

LZFSE是在谷歌 brotli之后發布的,后者在去年開源。與LZFSE相比,brotli 似乎是針對一個不同的應用場景進行了優化,比如壓縮靜態Web資產和Android APK,在這些情況下,壓縮率是最重要的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    803

    瀏覽量

    42006
  • 壓縮算法
    +關注

    關注

    1

    文章

    21

    瀏覽量

    10594
收藏 人收藏

    評論

    相關推薦

    鴻蒙二進制數組創建

    背景 c++層數據都是二進制,需要轉換成arrayBuffer透傳到ets層給業務使用,但是鴻蒙的使用下面兩個api創建出來的二進制數組數據都是錯誤的。 接口
    的頭像 發表于 01-31 15:24 ?1484次閱讀

    改進的二進制搜索算法原理是什么?有什么優勢?

    改進的二進制搜索算法原理是什么?改進的二進制搜索算法有什么優勢?
    發表于 05-20 07:12

    二進制相對調相(二進制差分調相2DPSK)的工作原理

    二進制相對調相(二進制差分調相2DPSK)的工作原理
    發表于 10-21 13:01 ?3273次閱讀
    <b class='flag-5'>二進制</b>相對調相(<b class='flag-5'>二進制</b>差分調相2DPSK)的工作原理

    二進制

    二進制   二進制與十進制的區別在于數碼的個數和進位規律有很大的區別,顧名思義,二進制的計數規律為逢二進一,是以2為基數的計數體制。10這
    發表于 04-06 23:48 ?8344次閱讀
    <b class='flag-5'>二進制</b>

    二進制時鐘電路

    二進制時鐘電路
    發表于 09-11 11:22 ?3171次閱讀
    <b class='flag-5'>二進制</b>時鐘電路

    二進制編碼和二進制數據

    二進制編碼和二進制數據   二進制編碼是計算機內使用最多的碼制,它只使用兩個基本符號"0"和"1",并且通過由這兩個符號組成的
    發表于 10-13 16:22 ?4904次閱讀

    什么是二進制計數器,二進制計數器原理是什么?

    什么是二進制計數器,二進制計數器原理是什么? 計數器是數字系統中用得較多的基本邏輯器件。它不僅能記錄輸入時鐘脈沖的個數,還可以實現
    發表于 03-08 13:16 ?3.1w次閱讀

    二進制電平,什么是二進制電平

    二進制電平,什么是二進制電平 在二進制數字通信系統中,每個碼元或每個符號只能是“1”和“0”兩個狀態之一。若將每個碼元可能取的狀態增
    發表于 03-17 16:51 ?2416次閱讀

    二進制數值數據的編碼與運算算法

    二進制數值數據的編碼與運算算法 一、原碼、反碼、補碼的定義 1、原碼的定義 2、補碼的定義
    發表于 04-15 14:42 ?3071次閱讀

    二進制加法程序【匯編版】

    二進制加法程序【匯編版】二進制加法程序【匯編版】二進制加法程序【匯編版】二進制加法程序【匯編版】
    發表于 12-29 11:02 ?0次下載

    二進制加法程序【C語言版】

    二進制加法程序【C語言版】二進制加法程序【C語言版】二進制加法程序【C語言版】二進制加法程序【C語言版】
    發表于 12-29 11:03 ?0次下載

    二進制數據及取值范圍的計算方法

    本文介紹二進制數據的相關知識,如定義、取值范圍計算、轉換為十進制的方法以及一些常見位數的二進制數據的取值范圍等。
    的頭像 發表于 11-08 15:48 ?2957次閱讀
    <b class='flag-5'>二進制</b><b class='flag-5'>數據</b>及取值范圍的計算方法

    10進制轉換為二進制算法

    10進制轉換為二進制是計算機領域中非常重要的一個問題。在計算機中,所有的數據都是以二進制形式進行存儲和處理的。因此,我們常常需要將10進制
    的頭像 發表于 01-11 09:14 ?3061次閱讀

    10進制轉換為二進制算法

    進制轉換為二進制是計算機科學中非?;A且重要的概念之一。在理解和應用計算機科學的基礎知識時,掌握這個算法是至關重要的。 在開始講解十進制轉換為二進
    的頭像 發表于 01-15 10:32 ?4039次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    二進制編碼器是一種數字電路,它將輸入的二進制代碼轉換為對應的輸出信號。在數字系統中,編碼器用于將數據從一種形式轉換為另一種形式,以便于處理和傳輸。 二進制編碼器工作原理 輸入與輸出關系
    的頭像 發表于 11-06 09:44 ?1762次閱讀
    主站蜘蛛池模板: 四月激情网 | 天天干干天天 | 337p亚洲精品色噜噜狠狠 | 黄色绿像一级片 | 五月婷婷激情六月 | 丁香六月婷婷精品免费观看 | 红怡院欧洲 | 欧美激情亚洲精品日韩1区2区 | 手机在线看片你懂得 | 1024手机看片国产 | 久久国产午夜精品理论片34页 | 九九99视频在线观看视频观看 | 日本xxx69hd | 国产一级久久免费特黄 | 国产精品欧美激情在线播放 | 亚洲播放 | 天堂网中文在线最新版 | 久操青青 | 亚洲ay| www.久久综合 | 日本级毛片免费观看 | 天天色天天综合网 | 大黄蕉 | 国产精品久久久久久吹潮 | 欧美另类图片亚洲偷 | 亚洲欧美4444kkkk | 亚洲一区二区三区四区在线 | 国产伦精品一区二区 | 国产高清在线精品一区 | 天天操bb | 午夜片 飘香香影院 | 影音先锋在线亚洲精品推荐 | 在线免费视频观看 | 亚洲一区二区中文字5566 | 中文字幕在线一区 | 国产成人影院在线观看 | 欧美三级网站 | 高清国产在线 | 成年大片免费视频播放手机不卡 | 明日花在线观看 | 免费毛片网站 |