在这篇博文中,我们将通过实例来学习如何将整数/int转换成Biginteger。你也可以查看我以前写的关于java中BigInteger类教程的文章。
BigInteger实例
BigInteger是定义在java.math包中的一个Java类。BigInteger将被用于任意的预演算术计算,该计算的结果值超出了所有原始数字类型的值范围。
如何将BigInteger转换为二进制字符串?
BigInteger有toString(radix)方法,需要radix参数。radix值必须在Character.MIN_RADIX(=2)和Character.MAX_RADIX(=36)之间,radix超出这个范围,它默认为radix=10
public String toString(int radix) 二进制字符串是一个字符串,表示1和0的值,表示2进制的数值,Radix值必须传递为2
System.out.println(new BigInteger("1").toString(2));
System.out.println(new BigInteger("5").toString(2));
System.out.println(new BigInteger("12").toString(2));
System.out.println(new BigInteger("131").toString(2));
输出是
1
101
1100
10000011
将大整数转换成八进制字符串?
八进制字符串是以8进制数值表示的。BigInteger.toString(radix)方法在转换八进制字符串时需要使用拉德值8。弧度值必须以2的形式传递。
System.out.println(new BigInteger("1").toString(8));
System.out.println(new BigInteger("5").toString(8));
System.out.println(new BigInteger("12").toString(8));
System.out.println(new BigInteger("64").toString(8));
输出是
1
5
14
100
将BigInteger转换为十六进制数字?
十六进制是以16进制的数值表示的。BigInteger.toString(radix)方法将十六进制数字转换为小数点16。弧度值必须传递为2。
System.out.println(new BigInteger("11").toString(16));
System.out.println(new BigInteger("51").toString(16));
System.out.println(new BigInteger("112").toString(16));
System.out.println(new BigInteger("164").toString(16));
输出是
b
33
70
a4
BigInteger.Pow()方法示例 BigIntege类的pow()方法返回一个大的整数值,该值是幂指数。
public BigInteger pow(int exponent)
下面是java.math.BigInteger.pow()方法的一个例子。
BigInteger bigInteger=new BigInteger("5");
System.out.println(bigInteger.pow(1));
System.out.println(bigInteger.pow(3));
System.out.println(bigInteger.pow(5));
输出是
5
125
3125
BigInteger multiply()方法的例子
这个类的multiply()方法是对大整数值进行乘法运算,并返回大整数对象。
public BigInteger multiply(BigInteger val)
下面是java.math.BigInteger.multiply()方法的一个例子。
BigInteger bigInteger=new BigInteger("5");
BigInteger bigInteger1=new BigInteger("6");
System.out.println(bigInteger.multiply(bigInteger1));
上述代码的输出是
30
BigInteger的除法实例
这个类的divide()方法将大整数值与之相除并返回大整数值。
public BigInteger divide(BigInteger val) {
以下是java.math.BigInteger.divide()方法的一个代码示例
BigInteger bigInteger1 = new BigInteger("87945697851122");
BigInteger bigInteger2 = BigInteger.valueOf(587955);
System.out.println(bigInteger1.divide(bigInteger2));
输出是
149578960
BigInteger CompareTo()方法示例
它有CompareTo()方法,比较两个BigIntegers并返回整数 - 0,-1,1 0 - 两个值都相等 1 - 被调用对象的值大于比较值 -1 - 被调用对象的值小于比较值
public int compareTo(BigInteger val)
以下是java.math.BigInteger.compareTo()方法的一个代码示例
BigInteger bigInteger=new BigInteger("5");
System.out.println(bigInteger.compareTo(new BigInteger("5")));
System.out.println(bigInteger.compareTo(new BigInteger("12")));
System.out.println(bigInteger.compareTo(new BigInteger("2")));
输出是
0
-1
1