背景:
在一些特殊的场景下,我们做整数运算时,或许会碰到两个整数相加超出了int类型,或者这两个整数本身就超出了int类型,在做算法题时很容易碰到,除了自己手写大整数,在Java中,提供了BigInteger类用来处理类似问题,以及BigDecimal类处理精度损失的问题
BigInteger:
- public BigInteger add(BigInteger val) 加
- public BigInteger subtract(BigInteger val) 减
- public BigInteger multiply(BigInteger val) 乘
- public BigInteger divide(BigInteger val) 除
package com.Date类;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Arrays;
public class Demo03 {
public static void main(String[] args) {
BigInteger a1 = new BigInteger("12649879848979951897444444445");
BigInteger a2 = new BigInteger("1555555555549788979878911245");
BigInteger num1 = a1.add(a2);//加法
BigInteger[] num2 = a1.divideAndRemainder(a2);//取整+取余
BigInteger num3 = a1.subtract(a2); //减法
BigInteger num4 = a1.divide(a2);//除法
BigInteger num5 = a1.multiply(a2);//乘法
}
}
BigDecimal
方法与BigInteger一致不多介绍
I'm so cute. Please give me money.
- 本文链接:http://yoursite.com/2020/04/26/BigInteger%E5%A4%84%E7%90%86%E5%A4%A7%E6%95%B0/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub IssuesGitHub Discussions