【发布时间】:2014-02-09 12:34:15
【问题描述】:
什么数据类型可以处理 Java 中的最大值?
我必须存储不带逗号的大数字(我还不知道实际大小)。
在 C 语言中,我认为我会使用 unsigned long int 之类的东西。
Java 中最好的类型是什么?
【问题讨论】:
-
你阅读了
BigInteger的文档
什么数据类型可以处理 Java 中的最大值?
我必须存储不带逗号的大数字(我还不知道实际大小)。
在 C 语言中,我认为我会使用 unsigned long int 之类的东西。
Java 中最好的类型是什么?
【问题讨论】:
BigInteger的文档
java中最大的原始类型是long,是一个有符号的64位整数-最大值9223372036854775807
对于任意大的整数,使用Biginteger 的实例。
【讨论】:
long 是“最大的”,因为它拥有(即打印)比double 更多的位数。
long 不同,double 的 64 位并非全部用于表示数字:有 1 个符号位和 11 个指数位,仅剩下 52 位用于有效数字(数字)。你可以阅读更多关于它的信息here。这意味着double 可以准确表示的最大整数是4503599627370496,它比long 的最大值小/短3 位。
Java 中能保持最大值的数据类型是BigInteger。如果您不知道您的最大值是多少,我建议您使用它。
【讨论】: