int范围可以切换到2-4亿

时间:2013-03-14 16:50:17

标签: java oracle java-ee

通常Java int的范围是-2147483648 ... 2147483647,所以最大值是2147483647,我不想使用负数。一个int可以有超过40亿个不同的值,我可以使用int范围2-4亿?在eclipse中,我使用int a = 31474836471;我得到编译错误。我该怎么办?

3 个答案:

答案 0 :(得分:4)

您已经将此问题作为另一个问题的一部分。

答案是否定的,您不能制作Java int类型,以便您有40亿个值> =零。

再次询问同一个问题不会改变答案。

您需要更改程序,将“{pk”类型从int替换为long。鉴于您已声明密钥必须> = 0。

,您没有其他选择

答案 1 :(得分:2)

不,在Java中,所有数字都已签名;没有未签名的号码。如果您需要更高的整数范围,请使用long

答案 2 :(得分:1)

你做不到。负范围可用于int,因为该值已签名。只能在比特中表示这么多信息。

请参阅另一个问题,以便区分有符号和无符号数字:Signed versus Unsigned Integers