问题描述
小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 3232 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256MB 的空间可以存储多少个 3232 位二进制整数?
求解
256MB 内存空间相当于 256 × 1024 × 1024B = 268435456B 的内存空间。
而每个元素是 32 位,即 4 字节,所以一个数组元素占用的空间为 4B。
因此,可以存储的元素个数就是内存空间大小除以一个元素的空间大小,即:
268435456B ÷ 4B = 67108864
故,可以存储 67108864 个 32 位二进制整数。
AC码
#include <iostream>
using namespace std;
int main()
{
unsigned long long int B=256*1024*1024,ans=B/4;//1MB=1024KB,1KB=1024B,1字节=1B
cout<<ans<<endl;
return 0;
}