java biginterger的相关函数作用

本文介绍如何在Java中使用BigInteger和BigDecimal类进行高精度计算,包括基本用法、常用方法及示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scanner cin = new Scanner (new BufferedInputStream(System.in));

同时Java类库提供了高精度运算的类java.math.BigInteger和java.math.BigDecimal,这样我们在比赛时就可以使用这两个类完成高精度计算的要求。
BigInteger用于任意精度的整数的运算:
例:
BigInteger x = new BigInteger(“11111111111111111111111111111111111111”);
BigInteger y = new BigInteger(“22222343259435894305894301243”);
System.out.println(x .add(y));
BigInteger类:
abs()       返回其值是此BigInteger的绝对值的BigInteger。
compareTo(BigInteger val) 将此BigInteger与指定的BigInteger进行比较。
divide(BigInteger val)  返回其值为 (this / val) 的BigInteger。
pow(int exponent)  返回其值为 (thisexponent) 的BigInteger。
multiply(BigInteger val)  返回其值为 (this * val) 的BigInteger。
gcd(BigInteger val) 返回一个 BigInteger,其值是 abs(this) 和 abs(val) 的最大公约数。
subtract(BigInteger val) 返回其值为 (this - val) 的 BigInteger。


BigDecimal类:
BigDecimal(String val)
          将 BigDecimal 的字符串表示形式转换为 BigDecimal。
abs()
          返回 BigDecimal,其值为此 BigDecimal 的绝对值,其标度为 this.scale()。
add(BigDecimal augend)
          返回一个 BigDecimal,其值为 (this + augend),其标度为 max(this.scale(), augend.scale())。
compareTo(BigDecimal val)
          将此 BigDecimal 与指定的 BigDecimal 比较。
divide(BigDecimal divisor, int scale, int roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为指定标度。
【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【
RoundingMode
CEILING
          向正无限大方向舍入的舍入模式。
DOWN
          向零方向舍入的舍入模式。
FLOOR
          向负无限大方向舍入的舍入模式。
HALF_DOWN
          向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。
HALF_EVEN
          向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
HALF_UP
          向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。
UNNECESSARY
          用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入。
UP
          远离零方向舍入的舍入模式。
setScale(int newScale, RoundingMode roundingMode)
          返回 BigDecimal,其标度为指定值,其非标度值通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定,以维护其总值。
subtract(BigDecimal subtrahend)
          返回一个 BigDecimal,其值为 (this - subtrahend),其标度为 max(this.scale(), subtrahend.scale())。
divide(BigDecimal divisor, RoundingMode roundingMode)
          返回一个 BigDecimal,其值为 (this / divisor),其标度为 this.scale()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值