🧑🎓个人介绍:大二软件生,现学JAVA、Linux、MySQL、算法
💻博客主页:
渡过晚枫
渡过晚枫
👓系列专栏:
[编程神域 C语言]
,
[java/初学者]
,
[蓝桥杯]
📖阶段目标:备战2023蓝桥杯java个人赛
👻不能逃避,不能逃避,不能逃避,去成为更好的自己!👻
一、🍁题目描述:
小蓝准备用256MB的内存空间开一个数组,数组的每个元素都是32位二进制数,
如果不考虑程序占用的空间和维护内存需要的辅助空间,
请问256MB可以存储多少个32位二进制整数?
二、🍁题目分析:
这题考察我们对内存空间的掌握程度。
我们都知道计算机的存储单位有以下换算:
1GB=1024MB,1MB=1024KB,1KB=1024B,1B=8bit
根据题意,我们就可以用256乘1024乘1024乘8得到总的bit数,然后再除以32就可以得到答案是“
67108864
”啦。值得注意的是,如果我们直接输出这个算式的话,那么结果则为“
-67108864
”,因为这时的数据为int型,而在运算过程种,值会大于int的最大范围2^31-1,即会溢出,所以我们需要对数据进行类型转换,用long型来输出。
三、🍁解题代码:
package JAVA_Lanqiao_2021;
public class B
{
public static void main(String[] args)
{
System.out.println((long)256*1024*1024*8/32);
}
}