10个java.math.BigInteger类实例及教程

132 阅读2分钟

在这篇博文中,我们将通过实例来学习如何将整数/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