老实的牛肉面 · QT多重继承的时候,要把QObject放在最 ...· 1 年前 · |
卖萌的皮蛋 · js 外部调用 ...· 1 年前 · |
满身肌肉的眼镜 · RuntimeError: ...· 1 年前 · |
焦虑的脸盆 · DataGrip如何连接SQL ...· 1 年前 · |
侠义非凡的椅子 · php 读取 pem - OSCHINA ...· 1 年前 · |
我正试着把4294967295分给长。即(2^32-1) java(netbeans)给出以下错误消息“整数太大”
事实上,我试图找出int可以处理的最大数字(手动处理),结果发现它是2147483647 (当然,很明显是2^31-1)。
但令人惊讶的是,我发现即使是长的类型也不能处理比这个更大的数字。int和long之间没有任何区别吗?java说long是64位
我是不是遗漏了什么?
发布于 2014-10-15 07:17:46
问题是您使用4294967295作为
int
文本,但它不是一个有效的
int
值。您希望它是
long
文本,所以需要在其上添加
L
后缀。这很好:
long x = 4294967295L;
来自 JLS第3.10.1节
如果整数以ASCII字母L或l(Ell)作为后缀,则为long类型;否则为int类型(§4.2.1)。
发布于 2014-10-15 07:19:15
使用较低的
l
来向编译器显示它是一个长值。
long l = 4294967295l ;
https://stackoverflow.com/questions/26376627
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287