java.math.BigInteger:表示任意大小的整数
当使用一个数超过了int型时就可以使用BigInteger。
1、int型的范围:-2^31 – 2^31-1,即:-2147483648-2147483647
2、使用BigInteger不会有范围限制。
import java.math.BigInteger;
public class Main037 {
public static void main(String[] args) {
//int n = 21474836471;
BigInteger bigInt = new BigInteger("21474836471");
System.out.println(bigInt);
}
}
运行结果:
21474836471
Process finished with exit code 0
3、基本运算
import java.math.BigInteger;
public class Main037 {
public static void main(String[] args) {
BigInteger bigInt1 = new BigInteger("-3");
BigInteger bigInt2 = new BigInteger("9");
System.out.println("求和:" + bigInt1.add(bigInt2));
System.out.println("求查:" + bigInt1.subtract(bigInt2));
System.out.println("求积:" + bigInt1.multiply(bigInt2));
System.out.println("求商:" + bigInt1.divide(bigInt2));
System.out.println("求绝对值:" + bigInt1.abs());
System.out.println("求最大值:" + bigInt1.max(bigInt2));
System.out.println("求最小值:" + bigInt1.min(bigInt2));
}
}
运行结果:
求和:6
求查:-12
求积:-27
求商:0
求绝对值:3
求最大值:9
求最小值:-3
4、进制互转
import java.math.BigInteger;
public class Main037 {
public static void main(String[] args) {
String str1 = new BigInteger("100",10).toString(2);
System.out.println("十进制转为二进制:" + str1);
String str2 = new BigInteger("1000",2).toString(10);
System.out.println("二进制转为十进制:" + str2);
String str3 = new BigInteger("100",10).toString(16);
System.out.println("十进制转为十六进制:" + str3);
}
}
运行结果:
十进制转为二进制:1100100
二进制转为十进制:8
十进制转为十六进制:64
Process finished with exit code 0