java中long类型的取值范围到底是多少呢?

9223372036854775808应该是long类型的最大值吧?但偶用下面这句问题报错呢,说是“整数过大”~~为啥?偶甚至把后面4位数字删掉,还是“整数过大”哟~~咋... 9223372036854775808应该是long类型的最大值吧?但偶用下面这句问题报错呢,说是“整数过大”~~为啥?
偶甚至把后面4位数字删掉,还是“整数过大”哟~~咋回事?

long l = 9223372036854775808;

各位大侠,帮个忙吧~~
展开
 我来答
Twqwyb85
2020-09-11 · TA获得超过6401个赞
知道答主
回答量:65
采纳率:0%
帮助的人:1.6万
展开全部

范围:-9223372036854775808到9223372036854775807

解释:long类型是64位的也就是 ”-2^64“ 到”2^64 -1“.

在定义long类型时,如果数据类型超过int类型的取值范围,数据后面要加l或L,不超过则不需要加。

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)。

bear830810
推荐于2017-11-24 · TA获得超过6016个赞
知道大有可为答主
回答量:2556
采纳率:0%
帮助的人:4041万
展开全部
呵呵。你那样写不是LONG,而是默认的INT。
LONG的写法是:long l = 9223372036854775806L;
注意后面的一个L,必须加上去。

还有,LONG最大值是9223372036854775807。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
键盘手文哥
2020-02-11 · TA获得超过2453个赞
知道大有可为答主
回答量:2329
采纳率:47%
帮助的人:708万
展开全部

基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

由于第一位是符号位,数字存储空间只有63位。

参考:网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冉亦竹93
2020-03-11
知道答主
回答量:2
采纳率:0%
帮助的人:1271
展开全部
在定义long类型时,如果数据类型超过int类型的取值范围,数据后面要加l或L,不超过则不需要加,楼主可以试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
123应用0
2022-10-20
知道答主
回答量:3
采纳率:0%
帮助的人:1.2万
展开全部
字面量赋值之前也会在程序里有一个临时空间,默认是int类型,你要定义这个巨大的数字,需要在后面加一个小写的L,再赋值给long类型变量,否则会引起报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式