这里写目录标题
- 例题
- BigInteger常用方法
- 关于BigInteger初始化为null
- compareTo()方法 : 返回一个int型数据(1 大于; 0 等于 ; -1 小于)
例题
import java.math.BigInteger;
import java.util.*;
public class Main{
public static void main(String[] args) {
BigInteger n = BigInteger.valueOf(9999);
String s = f(n).toString(2);
System.out.println(s.length());
}
public static BigInteger f(BigInteger n) {
if(n.equals(BigInteger.ONE)) return n;
return n.multiply(f(n.subtract(BigInteger.ONE)));
}
}
BigInteger常用方法
- add()方法 : 大整数加法
BigInteger a = new BigInteger("6");
BigInteger b = new BigInteger("3");
System.out.print("a+b="+a.add(b));//output : a+b=9
- subtract()方法 : 大整数减法
BigInteger c = new BigInteger("32");
BigInteger d = new BigInteger("20");
System.out.print("c-d="+c.subtract(d));//output : c-d=12
- multiply()方法 : 乘法 (用法同上)
- divide()方法 : 除法 (用法同上)
- toString(byte)进制转化
关于BigInteger初始化为null
BigInteger是Java中的一个类,用于处理大整数运算。在Java中,BigInteger的初始值是null,而不是0。当你创建一个BigInteger对象时,如果没有显式地给它赋初值,它将被默认设置为null。
这是因为BigInteger是一个引用类型,而不是基本数据类型。引用类型的默认值是null,表示该引用没有指向任何对象。
如果你想将BigInteger的初始值设置为0,你可以使用BigInteger的构造函数来实现:
BigInteger num = new BigInteger(“0”);
这样就可以将num的初始值设置为0了
compareTo()方法 : 返回一个int型数据(1 大于; 0 等于 ; -1 小于)
BigInteger.ZERO //0
BigInteger.ONE //1
BigInteger.TEN //10
int x = bb.compareTo(BigInteger.ZERO);
//如果 bb > 0 --->x = 1
//如果 bb = 0 --->x = 0
//如果 bb < 0 --->x = -1