该文是参考文献专业素数论文范文,主要论述了关于素数相关硕士论文开题报告,与基于JavaBigInteger类的大整数运算应用相关论文范文集,适合素数及参考文献及整数方面的的大学硕士和本科毕业论文以及素数相关开题报告范文和职称论文写作参考文献资料下载。
摘 要 : 在许多应用场合都需要高精度的计算,这些计算问题超出了一般程序语言所能表示的最大范围,如精确到100位小数的黄金分割系数计算;在密码问题中的大素数问题;求解梅森素数问题等,都涉及大整数运算.应用Java提供的关 键 词 : 大整数类;黄金分割;素数;梅森素数
中图分类号:TP311 文献标识码:A 文章编号:1006-4311(2014)24-0229-03
0 引言
Java提供了进行大整数计算的类BigInteger,封装了大整数的加(add)、减(subtract)、乘(multiply)、除(divide)以及求余(remainder)运算,还封装了大整数的幂运算(power)和比较(pare)运算等.通过使用这些大整数运算,可以求解许多高精度运算问题.
计算具有100位以上精度的黄金分割系数、计算100位以上精度的圆周率、计算具有100位以上十进制数的大整数都是具有重要意义的事.应用Java的BigInteger类,可以方便地解决这些问题.
1.Java BigInteger类封装
Java的BigInteger类是java.math包中的一个类,提供任意精度的整数运算.
1.1 构造大整数对象 Java中的大整数是BigInteger类的对象,构造大整数对象的构造方法是:
1.2 BigInteger类封装的主要方法 BigInteger类封装了以下常用方法,实现另一个大整数对象与本对象的运算,并生成一个新的大整数对象(比较运算除外).另外,还封装了与大素数的方法,这些方法是:
①获取一个给定位数和随机数位的大素数,是一个静态(static)方法,定义如下:
public static BigInteger probablePrime(int bitLength,Random rnd):该方法获得一个可能性很的具有二进制bitLength位的大素数,其概率为1-2-100.
②获取下一个可能素数的方法,方法定义如下:
BigInteger nextProbablePrime();该方法返回一个与当前的可能素数p, 最接近的可能素数q;对于任意p ③将一个长整型转换为BigInteger对象的方法,方法定义如下: public static BigInteger valueOf(long val); 该方法返回长整型数val的bigInteger对象. ④判断大整数是否为可能素数的方法,方法定义 如下: boolean isProbablePrime(int certainty); 若对象num.isProbablePrime(cer)返回true,则num是素数的概率大于1-2-cer. ⑤求余数运算方法remainder(),方法定义如下: public BigInteger remainder(BigInteger opnd);实现一个大整数对象与另一大整数对象opnd的求余运算,并返回余数(一个大整数对象). ⑥求大整数的商和余数的方法 divideAndRemainder(BigInteger opnd),该方法返回大整数对象除以大整数opnd的商和余数,用一个BigInteger类型数组存放,例如: BigInteger aBig[]等于new BigInteger[2]; BigInteger num等于new BigInteger(“125”); aBig等于divideAndRemainder(num,new BigInt