java中BigInteger简介及用法详解

乔欣 Java教程 发布时间:2022-12-09 22:54:46 阅读数:10152 1
下文笔者讲述java中BigInteger的详解说明,如下所示

BigInteger简介

BigInteger是java中用于表示大整型的数据类型
她可表示的数字,可以说是一个天文数字

BigInteger的使用说明

使用BigInteger需导入java.math.*包

BigInteger常用函数说明

value.Of(参数)

BigInteger.valueOf函数的功能:
   将参数中的值转换为BigInteger对象
例:
int a = 88;
BigInteger f=BigInteger.valueOf(a);
System.out.println("f="+f);

add()方法

add()方法的功能:
   用于将两个大整数加起来
例:
BigInteger c=new BigInteger("888");
BigInteger d=new BigInteger("999");
System.out.println("c+d="+c.add(d));

subtract()方法

将大整数相减
例:前者减后者
BigInteger c=new BigInteger("15");
BigInteger d=new BigInteger("13");
System.out.println("d-c="+d.subtract(c));
运行以上代码将输出 d-c=-2

multiply()方法

大整数相乘
BigInteger c=new BigInteger("6");
BigInteger d=new BigInteger("3");
System.out.println("c*d="+c.multiply(d));

divide()方法

大整数除法
BigInteger c=new BigInteger("6");
BigInteger d=new BigInteger("4");
System.out.println("c/d="+c.divide(d));
// 答案输出;c/d=1

remainder()方法

大整数取余

pow(exponent)方法

大整数取exponent的指数
a.pow(b)==a^b;

gcd()方法

将两个大整数取最大公约数
a.gcd(b);

abs()方法

取绝对值
BigInteger c=new BigInteger("-8");
System.out.println(c.abs());
	//8

negate()方法

取数的相反数
BigInteger c=new BigInteger("9");
System.out.println(c.negate());
// -9

mod()方法

对数进行取余
a.mod(b)=a%b=a.remainder(b);

max()方法,min()方法

分别是比较两个数的大小
a.max(b); 取a,b中的最大值

compareTo()方法

比较两个大整数大小
例:
 public void testCompare() {
   BigInteger bigNum1 = new BigInteger("88");
   BigInteger bigNum2 = new BigInteger("30");
​
   //1.compareTo():返回一个int型数据(1 大于; 0 等于; -1 小于)
   int num = bigNum1.compareTo(bigNum2);           //1
​
   //2.max():直接返回大的那个数,类型为BigInteger
   //  原理:return (compareTo(val) > 0 ? this : val);
   BigInteger compareMax = bigNum1.max(bigNum2);   //88
​
   //3.min():直接返回小的那个数,类型为BigInteger
   //  原理:return (compareTo(val) < 0 ? this : val);
   BigInteger compareMin = bigNum1.min(bigNum2);   //30
}

equals()方法

判断两个大整数是否相等
c.equals(d) 相等就返回 true;

如何从控制台读取BigInteger

public void test() {
    Scanner s = new Scanner(System.in);             // 读入
    int n = sc.nextInt();                           // 读入一个int;
    BigInteger m = sc.nextBigInteger();             // 读入一个BigInteger;
    while(sc.hasNext()){    
        System.out.print("sc.hasNext()=" + sc.hasNext());
    }
}

BigInteger的构造函数

BigInteger d=new BigInteger("98");

BigInteger中特殊变量的简介说明

BigInteger.ZERO,BigInteger.ONE,BigInteger.TEN
public void test() {
    //0
    BigInteger zero = BigInteger.ZERO;
    //1
    BigInteger one = BigInteger.ONE;
    //10
    BigInteger ten = BigInteger.TEN;
}

BigInteger转换为其它基本类型示例分享
public void BigIntegrConvertTest() {
    BigInteger bigNum = new BigInteger("88");
    int radix = 2;
    
    //1.转换为bigNum的二进制补码形式
    byte[] num1 = bigNum.toByteArray();
    //2.转换为bigNum的十进制字符串形式
    String num2 = bigNum.toString();        //88
    //3.转换为bigNum的radix进制字符串形式
    String num3 = bigNum.toString(radix); 
    //4.将bigNum转换为int
    int num4 = bigNum.intValue();
    //5.将bigNum转换为long
    long num5 = bigNum.longValue();
    //6.将bigNum转换为float
    float num6 = bigNum.floatValue();
    //7.将bigNum转换为double
    double num7 = bigNum.doubleValue();
}

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202212/5094.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者