首页 课程 师资 教程 报名

Java中整数型的取值范围

  • 2020-09-17 16:08:46
  • 2327次 动力节点

整数数据类型的取值范围

我们都知道计算机的底层是二进制,也知道不同的整数类型存储值的范围不同,可这些数值在计算机底层是怎样存储的呢?数值范围又是怎么计算出来的呢?

下面以java来进行举例:

byte 1个字节 (8bit) -2^7~2^7-1

short 2个字节 (16bit) -2^16~2^16-1

int 4个字节 (32bit) -2^31~2^31-1

long 8个字节 (64bit) -2^63~2^63-1

整数数据类型其中最高位是符号位,用来表示正数或负数。其中0用来表示正数,1用来表示负数。

那么,剩下的位就是数值位,用来表示数值大小的。

那么byte的可用范围就是7位了:

从000 0000~111 1111转换成十进制也就是从0~127

如果加上符号位呢?

1111 1111~0111 1111转换成十进制是从-127~127

可是如果我们的111 1111还能再进一位呢?

那不就是变成1000 0000了吗,那这个数到底是用来表示-128还是128呢?

因为符号位的存在,如果让它来表示128的话,就乱套了,所以我们就规定只用它来表示正的128。

所以一个字节能表示的最大范围是从-2^7~2^7-1 ps:2^7是128

无符号类型的取值范围(char)

Java中的char类型是用两个字节来表示,使用的是Unicode编码,所以可以正常表示中文字符。

两个字节一共十六位,又因为没有符号位,都是数值位的原因,所以表值范围是从:

0000 0000 0000 0000~1111 1111 1111 1111 1111 1111(65535)

所以char类型的表值范围是从0~2^16-1

java中整数型的范围

Java整数类型:http://www.bjpowernode.com/tutorial_java_se/74.html

以上就是动力节点java培训机构的小编针对“Java中整数型的取值范围”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交