2017-08-24 50 views
0

當我試圖估計需要存儲多少內存來存儲所有32位整數時,我努力想知道4 GB圖形來自哪裏。爲什麼所有32位整數的數組都需要4 GB?

32位整數數據類型有32位,可以設置爲1或0每位。這是2^32個可能的表示。每個表示需要32位,總共需要32 * 2^32位,或者2^5 * 2^32 = 2^37位。

而2^37位大約是17 GB,而不是4 GB。

我哪裏錯了?

+0

你有4GB數字的來源嗎?一目瞭然你的工作似乎合理。 –

+0

關於_「4 GB數字來自何時估計」_你如何估算?你存儲多少個32位整數? 「2^5」來自「2^5 * 2^32 = 2^37」的位置? –

回答

0

你的4 GB實際上是4.2 GB嗎?

您可能會看到號碼4,294,967,295用作32-bit integers的最大值。

這是因爲(如果使用作爲無符號字節):

正確公式爲:(2^32) − 1 = 4294967295

相關問題