Java大数整理

一.BigInteger

1.  

      int s = 99;

      BigInteger a = BigInteger.valueOf(s);

      则a = 99

       BigInteger[] dd = new BigInteger[500];开辟大数数组

2.    String a;

       BigInteger b = new BigInteger(a, n);     把n进制的a串转换成大数十进制

3.

       BigInteger a = cin.nextBigInteger(n);

       以n进制读入大数  最多32进制

       String b = a.toString(n);

       把a转成n进制的字符串 最多32进制

       可以用toUpperCase把进制数字中的字母变成大写

4.

       add(a)  subtract(a)  multiply(a) divide(a) remainder(a) mod(a) pow(int)

       幂运算取模modpow(a, b)

       最大公约数gcd()

       取绝对值abs()

       相反数negate() 

       大小值max() min()

       and()  按位与

       or() 按位或

二.BigDecimal

1.

      禁用.valueOf(double)方式进行构造

      建议使用.valueOf(string)或者 .valueOf(int)

      a.divide(b, 小数点保留位数, 处理模式)

     (1)最后一位大于零则向前进位 ROUND_UP

     (2)省略最后一位 ROUND_DOWN

     (3)ROUND_CEILING结果为正则进位为负则省略

     (4)最后一位五舍六入ROUND_HALF_DOWN

     (5)最后一位四舍五入ROUND_HALF_UP

     (6)ROUND_HALF_EVEN 倒数第二位为奇数则四舍五入 为偶数则五舍六入

     (7)ROUNMD_FLOOR 与(3)相反

2.

     a.stripTrailingZeros();去掉小数末尾的零

     a.stripTrailingZeros().toString();

     省略末尾零转为字符串可以防止大数太长而以科学记数法方式输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值