美文网首页
BigInteger和BigDecimal

BigInteger和BigDecimal

作者: 得力小泡泡 | 来源:发表于2020-03-30 15:07 被阅读0次

1、进制转换

注意:

  • 10进制转r进制,若有字母,转出来的是小写
  • r进制转10进制,无论x里面包含小写还是大写,出来的数字都是一样的
    10进制或以上的转出来是字符串的需要将里面的小写转换为大写
        for(int i = 0;i < str.length();i ++)
        {
            char t = str.charAt(i);
            if(t >= 'a' && t <= 'z') System.out.print((char)(t - ('a' - 'A')));
            else System.out.print(t);
        }

  • 1、BigInteger(String val,int radix),即将radix进制状态的val转换为10进制的BigInteger类型

  • 2、toString(int radix),将10进制的BigInteger类型转换为radix进制状态的String类型

  • 3、BigInteger(String val),默认radix10

  • 4、toString(),默认radix10
    例子:String str = new BigInteger("15", 10).toString(16),将10进制的15转为16进制

其中,Integer和Long也有同样的进制转换方法

注意:intlong必须分开写

  • Integer.parseInt(String val,int radix),即将radix进制状态的val转换为10进制的Integer类型
  • Integer.toString(int radix),将10进制的Integer类型转换为radix进制状态的String类型
int a = Integer.parseInt("15",10); // 转换为10进制
String str = Integer.toString(a,16); // 10转化为16进制
System.out.println(str);
  • Long.parseLong(String val,int radix),即将radix进制状态的val转换为10进制的Integer类型
  • Long.toString(int radix),将10进制的Long类型转换为radix进制状态的String类型
long a = Long.parseLong("15",10); // 转换为10进制
String str = Long.toString(a,16); // 10转化为16进制
System.out.println(str);

2、方法

1、加减乘除

  • add(BigInteger val),返回值为(this + val)
  • subtract(BigInteger val),返回值为(this - val)
  • multiply(BigInteger val),返回值为(this * val)
  • divide(BigInteger val),返回值为(this / val)

2、逻辑运算符(与、或、异或)

  • 与:and(BigInteger val),返回值为(this & val)
  • 或:or(BigInteger val),返回值为(this | val)
  • 异或:xor(BigInteger val),返回值为(this ^ val)

3、最大值,最小值

  • max(BigInteger val),返回最大值
  • min(BigInteger val),返回最小值

4、模,逆元

  • 模:mod(BigInteger m),返回值为(this % m)
  • 逆元:modInverse(BigInteger m),返回值为当前值模m后的逆元

相关文章

网友评论

      本文标题:BigInteger和BigDecimal

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