美文网首页
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