为什么所有32位整数的数组都需要4 GB?
问题描述:
当我试图估计需要存储多少内存来存储所有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。
我哪里错了?
答
你的4 GB实际上是4.2 GB吗?
您可能会看到号码4,294,967,295
用作32-bit integers的最大值。
这是因为(如果使用作为无符号字节):
正确公式为:(2^32) − 1 = 4294967295
。
你有4GB数字的来源吗?一目了然你的工作似乎合理。 –
关于_“4 GB数字来自何时估计”_你如何估算?你存储多少个32位整数? “2^5”来自“2^5 * 2^32 = 2^37”的位置? –