2017-07-26 50 views
0
> print(object.size(runif(1e6)),unit="Mb") 
7.6 Mb 

這給了我7.6Mb一百萬個元素的向量。但爲什麼?每個元素是32位還是64位?我不能添加這些數字。如何計算R中的對象大小?

回答

4

它們是64位(8字節)浮點值。 1兆字節(MB)爲2^20個字節(而不是10^6 - 見下文)...所以...

8*1e6/(2^20) 
[1] 7.629395 

巨大的潛力約是什麼意思Mb困惑:

像往常一樣,這是明確記載,在深的?object.size細節...

如圖所示通過下面表中,遺留和IEC標準使用二進制單元(1024倍數) ,而SI標準使用十進制單元(1000的倍數)...

*object size* *legacy* *IEC* 
    1   1 bytes 1 B 
1024   1 Kb  1 KiB 
1024^2   1 Mb  1 MiB 

Google的轉換似乎使用SI單位(1 MB = 10^6個字節)。

+0

爲什麼谷歌會給我[這個計算](https://www.google.com/search?q=1mb+to+bytes&oq=1mb+to+bytes&aqs=chrome..69i57j6j0.7223j0j7&sourceid=chrome&ie=UTF- 8)? – hxd1011

+1

是的,我把它鏈接到我的答案中。 –