龙空技术网

「JAVA中级工程师」之阐述Int占用字节数及取值范围

味儿板正 120

前言:

目前朋友们对“java long范围值的大小”可能比较关心,同学们都想要分析一些“java long范围值的大小”的相关知识。那么小编也在网上搜集了一些对于“java long范围值的大小””的相关知识,希望朋友们能喜欢,姐妹们一起来了解一下吧!

平时也许我们没有过多的注意到这些面试题对程序员工作的影响,但是确实是面试官经常要问的问题,以此来考核你是否使用过或者是否理解其原理。不可否认的是,如果面试前不做复习,大部分人是无法通过面试的,这就造成了面试题成了一种鸡肋,食之无味,弃之可惜。希望应聘者能遇到善解人意的面试官,也希望面试官能艺高人胆大的抛橄榄枝。

这个问题也许所有应聘者都能回答上来,但是有几个人知道这个是如何算出来的吗?详细阐述给你的面试官,你会被另眼相看的。

在JAVA中一共有八种基本数据类型,它们分别是 byte、short、int、long、float、double、char、boolean。

其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样。

而取值范围又是如何定义的呢?

我们先来看byte,即字节类型,jvm中规定一个字节等于8位(bit),这和计算机字长8位有关,就是00000000。

而bit是二进制,只能用0和1表示,且第一位表示+(0),-(1),后七位表示数值,所以一个字节最大的二进制为01111111(+127),最小的为11111111(-127),由于会出现00000000(+0)和10000000(-0),两者数学意义上是一样的,但是计算机并无法和人脑一样识别,所以印度人便规定10000000(-0为-128),这就是byte取值范围的由来了。

知道了Byte,我们便可推算出int的取值范围了。

那为什么int是占用4个字节呢?因为java定义好的,这个无需纠结。

byte的取值范围为-128 ~ 127,占用1个字节(-2的7次方到2的7次方-1);

short的取值范围为-32768 ~ 32767,占用2个字节(-2的15次方到2的15次方-1) ;

int的取值范围为(-2147483648 ~ 2147483647),占用4个字节(-2的31次方到2的31次方-1) ;

long的取值范围为(-9223372036854774808 ~ 9223372036854774807),占用8个字节(-2的63次方到2的63次方-1);

祝大家面试顺利!

标签: #java long范围值的大小 #javaint范围值的大小怎么算出来 #java基础类型占用字节