sil*_*rzx 1 java operators biginteger modulo long-integer
嗨,我有一个算法,我需要将操作应用于BigInt.
我知道可以使用Maths类操作BigInt,例如:
import java.math.*;
BigInteger a;
BigInteger b = BigInteger.ZERO;
BigInteger c = BigInteger.ONE;
BigInteger d = new BigInteger ("3");
BigInteger e = BigInteger.valueOf(5);
a.multiply(b);
a.add(b);
a.substract(b);
a.divide(b);
Run Code Online (Sandbox Code Playgroud)
我需要能够应用大于一段时间的条件,例如
while (a > 0) {
Run Code Online (Sandbox Code Playgroud)
这给了我一个语法错误,说"二元运算符'>'的错误操作数类型,第一种类型:java.math.BigInteger,第二种类型:int.
我还需要能够将modulo(%)运算符应用于BigInteger.
b = a % c;
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出这样做的方法吗?
如果没有解决方案,那么我将不得不以某种方式使用reduce函数将我的BigInteger操作为一个独特的Long(这远非理想).
Silverzx.
要比较BigInteger,使用BigInteger.compareTo.
while(a.compareTo(BigInteger.ZERO) > 0)
//...
Run Code Online (Sandbox Code Playgroud)
对于modulo(%),请使用BigInteger.mod.
BigInteger blah = a.mod(b);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5746 次 |
| 最近记录: |