2015-05-12 40 views
1

我有一個大的二進制值:的R - 無法存儲大量的二進制值

longbinary<-10110101110000111 

但得到的值存儲在LONGBINARY是10110101110000112.

我怎樣才能得到正確的值沒有任何變化結束。我嘗試使用int64包,但它不適用於版本3.1.2或3.2。

有沒有出路?

感謝

回答

0

雖然我剛開始玩弄R,我懷疑,當你正在做

longbinary<-10110101110000111 

你有效節省小數值得10E + 17。因此,這接近R中numeric()的最大分辨率,並肯定高於integer()。我認爲你應該保存它的十進制值,只要將它轉換爲二進制打印就可以了。

10110101110000111 binary = 93063 decimal = strtoi("10110101110000111", 2) 

逆(整數二進制字符串)是R.utils:intToBin

intToBin(93063) gives the string "10110101110000111": 

> library(R.utils) 
> intToBin(93063) 
[1] "10110101110000111" 
+0

我如何隱蔽其在二進制打印?即使我轉換,最後一位數字仍然會改變嗎? –

+0

編輯答案。否 - 最後一位是正確的,因爲你保存的數字是93063,這是一個正常的整數值。你只是將它轉換爲字符串來顯示它。 – jcoppens

相關問題