首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java无法处理32位数字

java无法处理32位数字
EN

Stack Overflow用户
提问于 2014-10-15 07:16:24
回答 2查看 1.9K关注 0票数 2

我正试着把4294967295分给长。即(2^32-1) java(netbeans)给出以下错误消息“整数太大”

事实上,我试图找出int可以处理的最大数字(手动处理),结果发现它是2147483647 (当然,很明显是2^31-1)。

但令人惊讶的是,我发现即使是长的类型也不能处理比这个更大的数字。int和long之间没有任何区别吗?java说long是64位

我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 07:17:46

问题是您使用4294967295作为int文本,但它不是一个有效的int值。您希望它是long文本,所以需要在其上添加L后缀。这很好:

代码语言:javascript
运行
复制
long x = 4294967295L;

来自JLS第3.10.1节

如果整数以ASCII字母L或l(Ell)作为后缀,则为long类型;否则为int类型(§4.2.1)。

票数 12
EN

Stack Overflow用户

发布于 2014-10-15 07:19:15

使用较低的l来向编译器显示它是一个长值。

代码语言:javascript
运行
复制
long l = 4294967295l ;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26376627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档