java BigInteger类

BigInteger类是java用来处理超长位数字所创建的一种类,在包java.math.BigInteger中

构造方法:

BigInteger(byte[] val) 
          将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为 BigInteger。
BigInteger(int signum, byte[] magnitude) 
          将 BigInteger 的符号-数量表示形式转换为 BigInteger。
BigInteger(int bitLength, int certainty, Random rnd) 
          构造一个随机生成的正 BigInteger,它可能是一个具有指定 bitLength 的素数。
BigInteger(int numBits, Random rnd) 
          构造一个随机生成的 BigInteger,它是在 0 到 (2numBits - 1)(包括)范围内均匀分布的值。
BigInteger(String val) 
          将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
BigInteger(String val, int radix) 
          将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。

由此可见,我们无法用int,long等类型来构造,只能使用String型,提供以下方法;

int a = 12345;
BigInteger bi = new BigInteger(a + "");

BigInteger 的转换:

int intValue() 
          将此 BigInteger 转换为 int。

 float  floatValue() 
          将此 BigInteger 转换为 floatdouble doubleValue() 
          将此 BigInteger 转换为 double

BigInteger 的加减乘除:

加减
BigInteger  multiply(BigInteger val) 
          返回其值为 (this * val) 的 BigInteger。

乘除
BigInteger  remainder(BigInteger val) 
          返回其值为 (this % val) 的 BigInteger。

取负
BigInteger  negate() 
          返回其值是 (-this) 的 BigInteger。

取余
BigInteger  subtract(BigInteger val) 
          返回其值为 (this - val) 的 BigInteger。

使用方法:

比如我们要加一个整数a:
int a = 12345;
BigInteger bi = new BigInteger(a + "");

bi = bi.subtract(new BigIntreger(-a + ""));
减,乘,除请大家自行扩展~~~

你可能感兴趣的:(java)