java - 如何获取大于最大整数值的整数值

标签 java memory int

我知道在 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。如果您的数字少于此数量,它将使您的生活更容易使用 longLong , 它的 wrapper ,超过 BigInteger .自从 long ,您不必使用除法/乘法等方法。

关于java - 如何获取大于最大整数值的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416949/

相关文章:

java - 在 Talend 中实现我的 Java 程序 : can't Drag & Drop

Golang根据进程句柄和偏移量计算另一个进程内存地址

swift - 在 Swift 3 中,当结果变得过高时如何计算阶乘?

java - 如何声明一个具有最小值和最大值的 Int?

java - double -> 提取整数

java - 分而治之最大连续子数组 (MCS) 问题

Java:从父类(super class)列表中获取子类

java - OS X 上的 SWT : menu without window

Java内存节省技术?

ios - APP进入后台后内存不会释放