java 中int 的范围

网上说java中int是32bit的,也就是说最大值是2147483648-1,为什么我定义inta=2147483648-1和longa=2147483648-1的时候... 网上说java中int是32bit的,也就是说最大值是 2147483648-1,为什么我定义int a = 2147483648-1和long a = 2147483648-1的时候都提示我超出范围了呢??请高手再给我补补数据的范围吧,谢谢了,好的再给追加分。。。 展开
 我来答
Big嘴
2011-04-23 · TA获得超过4097个赞
知道小有建树答主
回答量:697
采纳率:50%
帮助的人:638万
展开全部
java中int是32位 --> 数值范围长度是2的32次方
负数:[-2的31次方, 0)
正数:[0, 2的31次方-1] 将0作为正数处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yueyingcs
推荐于2017-09-25 · TA获得超过206个赞
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:74.6万
展开全部
因为214783648默认字面量为int型会超范围,所以要显示声明
int a = (int) (2147483648L-1);
long a=2147483648L-1;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kieml
2011-04-22
知道答主
回答量:29
采纳率:0%
帮助的人:23.4万
展开全部
4个字节 min =2^31 max=2^31-1 其他的没有研究那么深入 ....
你可以去看看java的API, 最小 = Integer.MIN_VALUE 最大 = Integer.MAX_VALUE .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
樱枝残雪_
2011-04-22 · TA获得超过138个赞
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
告诉你一个方法,想知道他们的长度,打印下就知道了,不用刻意去记
System.out.println(Integer.MAX_VALUE);就能打印出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
T毛毛虫R
2018-03-02
知道答主
回答量:4
采纳率:0%
帮助的人:4132
展开全部
2147483648-1这句话的2147483648已经超出int的最大值了(Java种整数字面量默认是int类型),可以修改为2147483648L-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式