2014-01-05 90 views
0

我想知道是否可以將二進制數據存儲在一個數字中,以及如何將大多數二進制數據存儲在一個數字中。將二進制數據存儲在數字中的最佳方法是什麼?

例如,假設我要存儲在多個下列文字:

Lorem存有悲坐阿梅德,consectetur adipiscing ELIT。 Donec egestas nunc eget rhoncus blandit。

在二進制形式是這樣的:

01001100 01101111 01110010 01100101 01101101 00100000 01101001 01110000 01110011 01110101 01101101 00100000 01100100 01101111 01101100 01101111 01110010 00100000 01110011 01101001 01110100 00100000 01100001 01101101 01100101 01110100 0101100 00100000 01100011 01101111 01101110 01110011 01100101 01100011 01110100 01100101 01110100 01110101 01110010 00100000 01100001 01100100 01101001 01110000 01101001 01110011 01100011 01101001 01101110 01100111 00100000 01100101 01101100 01101001 01110100 0101110 00100000 01000100 01101111 01101110 01100101 01100011 00100000 01100101 01100111 01100101 01110011 01110100 01100001 01110011 00100000 01101110 01110101 01101110 01100011 00100000 01100101 01100111 01100101 01110100 00100000 01110010 01101000 01101111 01101110 01100011 01110101 01110011 00100000 01100010 01101100 01100001 01101110 01100100 01101001 01110100 0101110 

現在,如果我將它轉換爲數字,我得到:2.15146353486 * 10^16

轉換這回二進制是問題所在,我得到00000010

現在顯然我不知道我在這裏做什麼,所以請理解這不是一個「爲什麼這不行?」問題,我問的是我想做的事情,如果是的話,怎麼做?

由於二進制可以轉換爲ASCII或BASE-64,反之亦然,因此轉換爲數字並返回也應該如此。畢竟,Base64基本上是基於64位的數字系統,而十進制數字是基於10的系統,而二進制是基於兩個系統的系統。

任何意見,將不勝感激。

+0

http://en.wikipedia.org/wiki/Binary_number –

+0

@OndrejTucny,我不覺得答案的問題或證明近距離投票。我知道什麼是二進制,我的問題更具體。 – Razick

+1

你的問題表明你有,不幸的是,不知道它是如何工作的......另外,順便說一句。評論不是答案。 –

回答

1

全部,只是在計算機中的一切是二進制 - 零和1。

所有這一切:

  • Lorem存有悲坐阿梅德,consectetur ...
  • 2.15146353486×10^16

只是人類可理解的表示二進制數據的一些大塊的

現在,如果我將它轉換爲數字,我得到:2.15146353486 * 10^16

的數字,在其通常意義表示一個十進制數,有什麼做一個文本。試圖將文本描述爲一個巨大的十進制數是毫無意義的。

轉換這回二進制就是問題所在,我得到00000010

你的轉換是錯誤的。當表示爲整個字節(= 8位)時,十進制數字2被編碼爲00000010。因此,你省略了數字的「休息」,再加上你只轉換了其最重要的數字。

我想知道是否有可能存儲在多個二進制數據,以及如何最二進制數據可能可以被存儲在一個單一的數字

二進制數據不存儲一(十進制)數字。數字只是一些二進制數據塊的表示(在整數情況下通常爲1,2,4或8個字節)。因此,如果您想更正您的問題並更準確地問「在二進制數據中可能存儲的最大十進制數是多少」,則答案將是:只需任何數,無論如何大,唯一的限制是可用內存。

+1

很好地完成。是不是我的問題,我明白爲什麼OP不能做到他們想做的事,但我不能把它寫成有道理的話。 – Tim

相關問題