题目描述
小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256MB 的空间可以存储多少个 32 位二进制整数?
实现代码
注意没代码能实现……
正确答案是:67108864
解题思路
本来想的是用 longlong
类型除 32,但是忽略了它的范围就是256MB-1b。也就是 longlong 最大值2147483647(256MB-1b) + 1 = -2147483648 ,所以longlong没法用,只能手算。
注意点
1 MB = 1024 KB
1 KB = 1024 B
1 B = 8 bit