🧑🎓个人介绍:大二软件生,现学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);
}
}