Java之BigInteger的用法

目录

  • Java之BigInteger用法
    • 一、常用方法
    • 二、进制转换

Java之BigInteger用法

BigInteger在Java中用于操作大整数,当一个数超过了Long表示的最大范围时就可以考虑使用BigInteger来操作。

BigInteger的使用方法很多,也可以用于进制转换的一些操作,本文记录了一些BigInteger的常用方法。


一、常用方法

方法名 作用
add(); 相加
subtract(); 相减
multipy(); 相乘
divide(); 相除
remainder(); 取余
pow(); n次方
abs(); 绝对值
negate(); 相反数
gcd(); 最大公约数
mod(); 相当于remainder
min(); 两者中的最小值
max(); 两者中的最大值
and(); 按位与
andNot(); 按位与非
not(); 当前大数的非
or(); 按位或
xor(); 按位异或
shiftLeft(); 当前大数左移n位
shiftRight(); 当前大数右移n位
bitLength(); 当前大数的二进制位数
compareTo(); 大数比较大小
		BigInteger number1 = new BigInteger("4324234132412");
        BigInteger number2 = new BigInteger("54323423423432");
        BigInteger result;
        number1 = number1.add(number2);
        number2 = number2.subtract(number1);
        number2 = number1.multiply(number2);
        number2 = number1.divide(number2);
        number2 = number2.remainder(number1);
        number2 = number2.pow(10);
        number2 = number2.remainder(number1);
        number2 = number2.gcd(number1);
        result = number2.min(number1);
        result = number2.and(number1);
        result = number2.or(number1);
        result = number2.andNot(number1);
        result = number2.not();
        result = number2.xor(number1);
        result = number2.shiftLeft(10);
        result = number2.shiftRight(6);
        BigInteger number3 = new BigInteger("10");
        System.out.println(number3.bitLength());
        System.out.println(number2);
        if (number1.compareTo(number2) > 0) {
            System.out.println("a > b");
        } else if (number1.compareTo(number2) < 0) {
            System.out.println("a < b");
        } else {
            System.out.println("a = b");
        }

二、进制转换

利用BigInteger的构造函数可以实现任意进制的转换。

		// 十进制转二进制
		String str1 = new BigInteger("100", 10).toString(2);
        System.out.println(str1);
		// 二进制转十进制
        String str2 = new BigInteger("1010101010111", 2).toString(10);
        System.out.println(str2);
		// 十六进制转八进制
        String str3 = new BigInteger("7E6A", 16).toString(8);
        System.out.println(str3);

你可能感兴趣的:(Java基础知识,java,intellij-idea)