【发布时间】:2014-11-12 22:19:06
【问题描述】:
我一直在查看Math 库,但似乎找不到将数字加倍并返回它的方法。
我需要一些可以做的事情num+=num
当然上述方法会起作用,但一旦数字变大,它就不再满足我的需要,即使我使用 long 而不是 int。
或者是我需要更改的数据类型而不是方法?
我找到了解决办法。
BigInteger num = new BigInteger("1");
num = num.add(num);
在阅读有关 BigInteger 的信息时,它说它是不可变的,所以我认为它无法更改值。我想我需要更好地理解不可变。
【问题讨论】:
-
它不再满足我的需要 您希望这种方法有何不同? (使用
BigInteger。) -
或者使用
double,这是我最初以为你在谈论的。double n = 1.0; n *= 2.0; -
@markspace
double怎么样?它会比 long 更快地失去精度
标签: java