java 大数BigInteger总结

这里主要是归纳了一些他人博客上的对于JAVA大数处理的一些方法.

主要是BigInteger类的应用

转载虽然要注明出处...但是我已经找不到地址了...见谅

 

 

基本函数:

 1.valueOf(parament); 将参数转换为制定的类型

  比如 int a=3;

       BigInteger b=BigInteger.valueOf(a);

       b=3;

       String s=”12345”;

       BigInteger c=BigInteger.valueOf(s);

       c=12345

 

 2.add(); 大整数相加

   BigInteger a=new BigInteger(“23”);

   BigInteger b=new BigInteger(“34”);

   a.add(b);

 3.subtract(); 相减

 4.multiply(); 相乘

 5.divide();    相除取整

 6.remainder();取余

 7.pow();   a.pow(b)=a^b

 8.gcd();   最大公约数

 9.abs(); 绝对值

 10.negate();取反数

 11.mod(); a.mod(b)=a%b=a.remainder(b);

 12.max(); min();

 13.punlic int comareTo();

 14.boolean equals(); 是否相等

 15.BigInteger构造函数

  一般用到以下两种:

   BigInteger(String val);

   将指定字符串转换为十进制表示形式;

   BigInteger(String val,int radix);

   将指定基数BigInteger的字符串表示形式转换为BigInteger

.基本常量:

   A=BigInteger.ONE    1

   B=BigInteger.TEN    10

   C=BigInteger.ZERO   0

.基本操作

 1.读入:

 Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中

 Scanner cin=new Scanner(System.in);// 读入

 while(cin.hasNext())   //等同于!=EOF

 {

   int n;

   BigInteger m;

   n=cin.nextInt(); //读入一个int;

   m=cin.BigInteger();//读入一个BigInteger;

   System.out.print(m.toString());

 }

BigInteger(byte[])

把一个包含着(正负号)整数的二进制补码字节数组翻译为 BigInteger 

BigInteger(int, byte[])

把一个整数的 sign-magnitude 表示法翻译为 BigInteger 

BigInteger(int, int, Random)

返回有指定 bitLength(可能是素数)的随机选择的 BigInter 

BigInteger(int, Random)

返回一个随机数,均匀分布 [0, 2**numBits - 1] 之间
(
假设由 rndSrc 提供一个公平的随机源

BigInteger(String)

把一个字符串翻译为一个 BigInteger ,该字符串包含可选的负号,后面跟着一个或多个十进制数字序列。

BigInteger(String, int)

把一个字符串翻译为一个 BigInteger ,该字符串包含可选的负号,后面跟着一个或多个指定进制的数字序列。

 

方法摘要

 BigInteger

abs() 
          返回其值是此 BigInteger 的绝对值的 BigInteger。

 BigInteger

add(BigInteger val) 
          返回其值为 (this + val) 的 BigInteger。

 BigInteger

and(BigInteger val) 
          返回其值为 (this & val) 的 BigInteger。

 BigInteger

andNot(BigInteger val) 
          返回其值为 (this & ~val) 的 BigInteger。

 int

bitCount() 
      返回此 BigInteger 的二进制补码表示形式中与符号不同的位的数量。

 int

bitLength() 
    返回此 BigInteger 的最小的二进制补码表示形式的位数,不包括 符号位。

 BigInteger

clearBit(int n) 
          返回其值与清除了指定位的此 BigInteger 等效的 BigInteger。

 int

compareTo(BigInteger val) 
          将此 BigInteger 与指定的 BigInteger 进行比较。

 BigInteger

divide(BigInteger val) 
          返回其值为 (this / val) 的 BigInteger。

 BigInteger[]

divideAndRemainder(BigInteger val) 
   返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组

 double

doubleValue() 
          将此 BigInteger 转换为 double。

 boolean

equals(Object x) 
          比较此 BigInteger 与指定的 Object 的相等性。

 BigInteger

flipBit(int n) 
    返回其值与对此 BigInteger 进行指定位翻转后的值等效的 BigInteger。

 float

floatValue() 
          将此 BigInteger 转换为 float。

 BigInteger

gcd(BigInteger val) 
   返回一个 BigInteger,其值是 abs(this) 和 abs(val) 的最大公约数。

 int

getLowestSetBit() 
返回此 BigInteger 最右端(最低位)1 比特的索引(即从此字节的右端开始到本字节中

最右端 1 比特之间的 0 比特的位数)。

 int

hashCode() 
          返回此 BigInteger 的哈希码。

 int

intValue() 
          将此 BigInteger 转换为 int。

 boolean

isProbablePrime(int certainty) 
          如果此 BigInteger 可能为素数,则返回 true,如

果它一定为合数,则返回 false

 long

longValue() 
          将此 BigInteger 转换为 long。

 BigInteger

max(BigInteger val) 
          返回此 BigInteger 和 val 的最大值。

 BigInteger

min(BigInteger val) 
          返回此 BigInteger 和 val 的最小值。

 BigInteger

mod(BigInteger m) 
          返回其值为 (this mod m) 的 BigInteger。

 BigInteger

modInverse(BigInteger m) 
          返回其值为 (this-1 mod m) 的 BigInteger。

 BigInteger

modPow(BigInteger exponent, BigInteger m) 
       返回其值为 (thisexponent mod m) 的 BigInteger。

 BigInteger

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

 BigInteger

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

 BigInteger

nextProbablePrime() 
       返回大于此BigInteger的可能为素数的第一个整数。

 BigInteger

not() 
          返回其值为 (~this) 的 BigInteger。

 BigInteger

or(BigInteger val) 
          返回其值为 (this | val) 的 BigInteger。

 BigInteger

pow(int exponent) 
          返回其值为 (thisexponent) 的 BigInteger。

static BigInteger

probablePrime(int bitLength, Random rnd) 
          返回有可能是素数的、具有指定长度的正 BigInteger。

 BigInteger

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

 BigInteger

setBit(int n) 
          返回其值与设置了指定位的此 BigInteger 等效的 BigInteger。

 BigInteger

shiftLeft(int n) 
          返回其值为 (this << n) 的 BigInteger。

 BigInteger

shiftRight(int n) 
          返回其值为 (this >> n) 的 BigInteger。

 int

signum() 
          返回此 BigInteger 的正负号函数。

 BigInteger

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

 boolean

testBit(int n) 
          当且仅当设置了指定的位时,返回 true。

 byte[]

toByteArray() 
          返回一个字节数组,该数组包含此 BigInteger 的二进制补码表示形式。

 String

toString() 
          返回此 BigInteger 的十进制字符串表示形式。

 String

toString(int radix) 
          返回此 BigInteger 的给定基数的字符串表示形式。

static BigInteger

valueOf(long val) 
          返回其值等于指定 long 的值的 BigInteger。

 BigInteger

xor(BigInteger val) 
          返回其值为 (this ^ val) 的 BigInteger。

 

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值