BigInteger方法与诸函数

在java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,从原则上是可以表示“天文单位”一样大的数字咯,但有一个缺点就是比较费内存

add()方法; 相加

BigInteger c=new BigInteger("6");
BigInteger d=new BigInteger("3");
System.out.println("c+d="+c.add(d));
//答案输出: c+d=9

subtract()方法,相减,运用时前者减后者

BigInteger c=new BigInteger("5");
BigInteger d=new BigInteger("3");
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));
    //答案输出: c*d=18

divide()方法,做除法,

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

remainder()方法,大整数取余

BigInteger x = new BigInteger("10");
        BigInteger y = new BigInteger("8");
        BigInteger z = x.remainder(y);
        System.out.println("x%y="+z);
        //答案输出:x%y = 2

pow()方法,取指数,例如a.pow(b)==a^b;

这里的b只能是int类型,不可以是BigInteger类型

BigInteger x = new BigInteger("2");
        
        BigInteger z = x.pow(3);
        System.out.println("x^3="+z);
        //答案输出:x^3 = 8

gcd()方法,取最大公约数

BigInteger x = new BigInteger("8");
        BigInteger y = new BigInteger("4");
        BigInteger z = x.gcd(y);
        System.out.println(z);
        //答案输出:4

abs()方法,这个函数的作用是取绝对值

 BigInteger c=new BigInteger("-9");
System.out.println(c.abs());
     //答案输出: 9

negate()方法,取数的相反数


BigInteger c=new BigInteger("9");
System.out.println(c.negate());
   // 答案输出: -9

mod()方法; 进行取余 a.mod(b)=a%b=a.remainder(b);

BigInteger x = new BigInteger("10");
        BigInteger y = new BigInteger("4");
        BigInteger z = x.mod(y);
        System.out.println(z);
        //答案输出:2

max()方法,min()方法,分别是比较两个数的大小

BigInteger x = new BigInteger("10");
        BigInteger y = new BigInteger("4");
        BigInteger z = x.max(y);//x.min
        System.out.println(z);
        //答案输出:10

compareTo()方法比较两个大整数大小的,返回boolen

返回一个int型数据(1 大于; 0 等于; -1 小于)

BigInteger x = new BigInteger("10");
BigInteger y = new BigInteger("4");
int z = x.compareTo(y);
System.out.println(z);
     //答案输出:1 

equals()方法,判断两个大整数是否相等,返回boolen

BigInteger x = new BigInteger("10");
BigInteger y = new BigInteger("4");
boolean z = x.equals(y);
System.out.println(z);
        //答案输出:false 

类型转换方法


public void testToAnother() {
    BigInteger bigNum = new BigInteger("38");
    int radix = 2;
    
    //1.转换为bigNum的二进制补码形式
    byte[] num1 = bigNum.toByteArray();
    //2.转换为bigNum的十进制字符串形式
    String num2 = bigNum.toString();        //38
    //3.转换为bigNum的radix进制字符串形式
    String num3 = bigNum.toString(radix);   //100110
    //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();
}
————————————————
版权声明:本文为CSDN博主「码界猿候」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

参考文章链接:https://blog.csdn.net/qq_49174867/article/details/123587380

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CLODVEP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值