美文网首页
Java 大整数类型(BigInteger)

Java 大整数类型(BigInteger)

作者: Tinyspot | 来源:发表于2023-12-28 11:52 被阅读0次

1. BigInteger

  • java.math.BigInteger 表示任意大小的整数
  • BigInteger 内部用一个int[]数组来模拟一个非常大的整数
public class BigInteger extends Number implements Comparable<BigInteger> {
    final int[] mag;
}

2. 示例

@Test
public void demo() {
    BigInteger bi = new BigInteger("123456789");
    System.out.println(bi.pow(5));

    BigInteger bi1 = new BigInteger("123456789");
    BigInteger bi2 = new BigInteger("12345678987654321");
    System.out.println(bi1.add(bi2));
}

3. 类型转换

@Test
public void longValue() {
    BigInteger bi = new BigInteger("123456789000");
    System.out.println(bi.multiply(bi).longValue());

    // BigInteger out of long range
    System.out.println(bi.multiply(bi).longValueExact());
}

longValueExact() 如果超出了long型的范围,会抛出ArithmeticException

public long longValueExact() {
    if (mag.length <= 2 && bitLength() <= 63)
        return longValue();
    else
        throw new ArithmeticException("BigInteger out of long range");
}

相关文章

  • BigInteger(大整数)

    BigInteger(大整数) [TOC] 实现的功能 负数 vector动态分配内存 普通整数long long...

  • 《Java编程思想》笔记 - 持续更新

    1、Java对于大数值,可以使用BigInteger操作大整数,使用BigDecimal指定小数的保留位数,而不损...

  • 读Java编程思想 知识点一

    1、Java中高精度数据类型 BigInteger 支持任意精度的整数。也就是说,在运算中,可以准确地表示任何大小...

  • BigInteger大精度整数

    BigInteger和BigDecimal类似,是于用于处理大精度的整数的。取值范围没有上限。 BigInger(...

  • Biginteger用法解析:

    BigInteger: BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能...

  • 高精度运算-Java语言

    Java有工具类可以直接使用BigInteger BigInteger是一个对象,不是基本类型。所以需要new出来...

  • Java中的BigInteger

    在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示...

  • 《Java编程思想》笔记——基础知识

    1.基本类型 高精度数值类型: BigInteger和BigDecimal是java中的高精度数值类型,由于它们是...

  • 六:Java基础入门-整数类型

    Java有四种整数类型:byte、short、int、long; Java默认整数计算的结果是int类型; 整数的...

  • 3.9大数值

    基本的整数和浮点数精度不过,可以使用java.math包中的BigInteger和BigDecimal BigIn...

网友评论

      本文标题:Java 大整数类型(BigInteger)

      本文链接:https://www.haomeiwen.com/subject/ungdndtx.html