我知道在 Java 中一个 int 可以获得 2,147,483,647 的值。但我想要比这更多的值(value)。我有一个公式,例如:
double x = a/(b*c);
所以分母 (b*c) 可以达到 10^10 甚至更高。但是每当我执行公式时,该值总是限制为 2,147,483,647。我知道,因为 x 必须始终小于 1.0。 P/S: 如果满足某些条件,即使变量“a”也可以达到10^10。 a,b,c均为整数。
最佳答案
既然你要求了,这里有一个 BigInteger
示例:
BigInteger a = new BigInteger("yourNumberInStringFormA");
BigInteger b = new BigInteger("yourNumberInStringFormB");
BigInteger c = new BigInteger("yourNumberInStringFormC");
BigInteger x = a.divide(b.multiply(c));
在哪里"yourNumberInStringForm"
是可选的减号和数字(无空格或逗号)。例如BigInteger z = new BigIntger("-3463634");
注意:BigInteger
实际上会返回 long
如果您的号码在其范围内,则适合您。 longs
结束于 L
,如:
long num = 372036854775807L;
long
的最大长度是:9,223,372,036,854,775,807。如果您的数字少于此数量,它将使您的生活更容易使用 long
或 Long
, 它的 wrapper ,超过 BigInteger
.自从 long
,您不必使用除法/乘法等方法。
关于java - 如何获取大于最大整数值的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416949/