BigInteger和BigDecimal
2020-03-30 本文已影响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)
,默认radix
是10
-
4、
toString()
,默认radix
是10
例子:String str = new BigInteger("15", 10).toString(16)
,将10
进制的15
转为16
进制
其中,Integer和Long也有同样的进制转换方法
注意:int
,long
必须分开写
-
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
后的逆元