gpt4 book ai didi

java无法处理32位数字

转载 作者:行者123 更新时间:2023-12-03 02:46:37 25 4
gpt4 key购买 nike

我正在尝试将 4294967295 分配给 long。即(2^32-1)java(netbeans) 给出以下错误消息“整数太大”

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

但令人惊讶的是,我发现即使是 long 类型也无法处理比这更大的数字。int 和 long 没有什么区别吗?java doc说long是64位

我错过了什么吗?

最佳答案

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

long x = 4294967295L;

来自JLS section 3.10.1 :

An integer literal is of type long if it is suffixed with an ASCII letter L or l (ell); otherwise it is of type int (§4.2.1).

关于java无法处理32位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26376627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com