欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

二進(jìn)制數(shù)據(jù)壓縮算法

PoisonApple ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-28 09:31 ? 次閱讀

二進(jìn)制數(shù)據(jù)壓縮算法二進(jìn)制是計(jì)算技術(shù)中廣泛采用的一種數(shù)制。二進(jìn)制數(shù)據(jù)是用0和1兩個(gè)數(shù)碼來表示的數(shù)。它的基數(shù)為2,進(jìn)位規(guī)則是“逢二進(jìn)一”,借位規(guī)則是“借一當(dāng)二”,由18世紀(jì)德國(guó)數(shù)理哲學(xué)大師萊布尼茲發(fā)現(xiàn)。當(dāng)前的計(jì)算機(jī)系統(tǒng)使用的基本上是二進(jìn)制系統(tǒng),數(shù)據(jù)在計(jì)算機(jī)中主要是以補(bǔ)碼的形式存儲(chǔ)的。計(jì)算機(jī)中的二進(jìn)制則是一個(gè)非常微小的開關(guān),用“開”來表示1,“關(guān)”來表示0。

20世紀(jì)被稱作第三次科技革命的重要標(biāo)志之一的計(jì)算機(jī)的發(fā)明與應(yīng)用,因?yàn)閿?shù)字計(jì)算機(jī)只能識(shí)別和處理由‘0’?!?’符號(hào)串組成的代碼。其運(yùn)算模式正是二進(jìn)制。19世紀(jì)愛爾蘭邏輯學(xué)家喬治布爾對(duì)邏輯命題的思考過程轉(zhuǎn)化為對(duì)符號(hào)“0‘’?!?‘’的某種代數(shù)演算,二進(jìn)制是逢2進(jìn)位的進(jìn)位制。0、1是基本算符。因?yàn)樗皇褂?、1兩個(gè)數(shù)字符號(hào),非常簡(jiǎn)單方便,易于用電子方式實(shí)現(xiàn)。

二進(jìn)制壓縮 - 算法

二進(jìn)制壓縮

編程時(shí)遇到每個(gè)數(shù)據(jù)只有兩種狀態(tài),且 dfs 或者 bfs 時(shí)遍歷時(shí)間復(fù)雜度高時(shí),可以采用二進(jìn)制壓縮數(shù)據(jù),尤其是二維數(shù)組。

1.二進(jìn)制壓縮一個(gè)二位數(shù)組

例如:

-+--

----

----

-+--

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

0100

0000

0000

010012345678910

如果我們采用二進(jìn)制壓縮為一個(gè) int 類型的數(shù)據(jù),正好用 16 位來表示。

這里有兩種表示方法,其實(shí)都一樣,一種先從上到下變?yōu)閺母呶坏降臀?,一種是從上到下變?yōu)閺牡臀坏礁呶弧?/p>

從低位到高位

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;

}

}

二進(jìn)制數(shù)據(jù)壓縮算法

LZFSE

1,zlib和gzip都對(duì)deflate進(jìn)行了封裝,比deflate多了數(shù)據(jù)頭和尾

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

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

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

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

顯然,LZFSE的目標(biāo)不是成為最好或最快的算法。事實(shí)上,蘋果公司指出,

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

SDK提供的其他選項(xiàng)要慢一個(gè)數(shù)量級(jí)。當(dāng)壓縮率和速度幾乎同等重要,而你又希望降低能源效率時(shí),LZFSE是蘋果推薦的選項(xiàng)。

GitHub上提供了LZFSE的參考實(shí)現(xiàn)。在MacOS上構(gòu)建和運(yùn)行一樣簡(jiǎn)單:

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

如果希望針對(duì)當(dāng)前的iOS設(shè)備構(gòu)建LZFSE,可以執(zhí)行:

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

除了 API文檔之外,蘋果去年還提供了一個(gè) 示例項(xiàng)目,展示如何使用LZFSE 進(jìn)行塊和流壓縮,這是一個(gè)實(shí)用的LZFSE入門資源。

LZFSE是在谷歌 brotli之后發(fā)布的,后者在去年開源。與LZFSE相比,brotli 似乎是針對(duì)一個(gè)不同的應(yīng)用場(chǎng)景進(jìn)行了優(yōu)化,比如壓縮靜態(tài)Web資產(chǎn)和Android APK,在這些情況下,壓縮率是最重要的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    796

    瀏覽量

    41761
  • 壓縮算法
    +關(guān)注

    關(guān)注

    1

    文章

    21

    瀏覽量

    10545
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙二進(jìn)制數(shù)組創(chuàng)建

    背景 c++層數(shù)據(jù)都是二進(jìn)制,需要轉(zhuǎn)換成arrayBuffer透?jìng)鞯絜ts層給業(yè)務(wù)使用,但是鴻蒙的使用下面兩個(gè)api創(chuàng)建出來的二進(jìn)制數(shù)組數(shù)據(jù)都是錯(cuò)誤的。 接口
    的頭像 發(fā)表于 01-31 15:24 ?1346次閱讀

    改進(jìn)的二進(jìn)制搜索算法原理是什么?有什么優(yōu)勢(shì)?

    改進(jìn)的二進(jìn)制搜索算法原理是什么?改進(jìn)的二進(jìn)制搜索算法有什么優(yōu)勢(shì)?
    發(fā)表于 05-20 07:12

    二進(jìn)制相對(duì)調(diào)相(二進(jìn)制差分調(diào)相2DPSK)的工作原理

    二進(jìn)制相對(duì)調(diào)相(二進(jìn)制差分調(diào)相2DPSK)的工作原理
    發(fā)表于 10-21 13:01 ?3221次閱讀
    <b class='flag-5'>二進(jìn)制</b>相對(duì)調(diào)相(<b class='flag-5'>二進(jìn)制</b>差分調(diào)相2DPSK)的工作原理

    二進(jìn)制

    二進(jìn)制   二進(jìn)制與十進(jìn)制的區(qū)別在于數(shù)碼的個(gè)數(shù)和進(jìn)位規(guī)律有很大的區(qū)別,顧名思義,二進(jìn)制的計(jì)數(shù)規(guī)律為逢二進(jìn)一,是以2為基數(shù)的計(jì)數(shù)體制。10這
    發(fā)表于 04-06 23:48 ?8244次閱讀
    <b class='flag-5'>二進(jìn)制</b>

    二進(jìn)制時(shí)鐘電路

    二進(jìn)制時(shí)鐘電路
    發(fā)表于 09-11 11:22 ?3139次閱讀
    <b class='flag-5'>二進(jìn)制</b>時(shí)鐘電路

    二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)

    二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)   二進(jìn)制編碼是計(jì)算機(jī)內(nèi)使用最多的碼制,它只使用兩個(gè)基本符號(hào)"0"和"1",并且通過由這兩個(gè)符號(hào)組成的
    發(fā)表于 10-13 16:22 ?4825次閱讀

    什么是二進(jìn)制計(jì)數(shù)器,二進(jìn)制計(jì)數(shù)器原理是什么?

    什么是二進(jìn)制計(jì)數(shù)器,二進(jìn)制計(jì)數(shù)器原理是什么? 計(jì)數(shù)器是數(shù)字系統(tǒng)中用得較多的基本邏輯器件。它不僅能記錄輸入時(shí)鐘脈沖的個(gè)數(shù),還可以實(shí)現(xiàn)
    發(fā)表于 03-08 13:16 ?3.1w次閱讀

    二進(jìn)制電平,什么是二進(jìn)制電平

    二進(jìn)制電平,什么是二進(jìn)制電平 在二進(jìn)制數(shù)字通信系統(tǒng)中,每個(gè)碼元或每個(gè)符號(hào)只能是“1”和“0”兩個(gè)狀態(tài)之一。若將每個(gè)碼元可能取的狀態(tài)增
    發(fā)表于 03-17 16:51 ?2370次閱讀

    二進(jìn)制數(shù)值數(shù)據(jù)的編碼與運(yùn)算算法

    二進(jìn)制數(shù)值數(shù)據(jù)的編碼與運(yùn)算算法 一、原碼、反碼、補(bǔ)碼的定義 1、原碼的定義 2、補(bǔ)碼的定義
    發(fā)表于 04-15 14:42 ?2950次閱讀

    二進(jìn)制加法程序【匯編版】

    二進(jìn)制加法程序【匯編版】二進(jìn)制加法程序【匯編版】二進(jìn)制加法程序【匯編版】二進(jìn)制加法程序【匯編版】
    發(fā)表于 12-29 11:02 ?0次下載

    二進(jìn)制加法程序【C語(yǔ)言版】

    二進(jìn)制加法程序【C語(yǔ)言版】二進(jìn)制加法程序【C語(yǔ)言版】二進(jìn)制加法程序【C語(yǔ)言版】二進(jìn)制加法程序【C語(yǔ)言版】
    發(fā)表于 12-29 11:03 ?0次下載

    二進(jìn)制數(shù)據(jù)及取值范圍的計(jì)算方法

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

    10進(jìn)制轉(zhuǎn)換為二進(jìn)制算法

    10進(jìn)制轉(zhuǎn)換為二進(jìn)制是計(jì)算機(jī)領(lǐng)域中非常重要的一個(gè)問題。在計(jì)算機(jī)中,所有的數(shù)據(jù)都是以二進(jìn)制形式進(jìn)行存儲(chǔ)和處理的。因此,我們常常需要將10進(jìn)制數(shù)
    的頭像 發(fā)表于 01-11 09:14 ?2662次閱讀

    10進(jìn)制轉(zhuǎn)換為二進(jìn)制算法

    進(jìn)制轉(zhuǎn)換為二進(jìn)制是計(jì)算機(jī)科學(xué)中非常基礎(chǔ)且重要的概念之一。在理解和應(yīng)用計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)時(shí),掌握這個(gè)算法是至關(guān)重要的。 在開始講解十進(jìn)制轉(zhuǎn)換為二進(jìn)
    的頭像 發(fā)表于 01-15 10:32 ?3594次閱讀

    二進(jìn)制編碼器工作原理 如何選擇二進(jìn)制編碼器

    二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對(duì)應(yīng)的輸出信號(hào)。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種形式轉(zhuǎn)換為另一種形式,以便于處理和傳輸。 二進(jìn)制編碼器工作原理 輸入與輸出關(guān)系
    的頭像 發(fā)表于 11-06 09:44 ?1172次閱讀