关于java中BigInteger的用法

    xiaoxiao2021-03-26  36

    1.首先导入java.math.BigInteger包;   import java.math.BigInteger; 2.该类构造方法很多,我用到以下一种:   BigInteger(String val):将十进制字符串转化成BigInteger   例如:BigInteger  two = new BigInteger("2");

    3.BigInteger模拟了Integer的数学操作:

    如add()等同于"+",subtract等同于"-",multiply等同于“*”,divide等同于“/”;运算时必须使用内部方法,操作数必须为BigInteger型。

    如:two.add(2)就是一种错误的操作,因为2没有变为BigInteger型。 4.用一个程序熟悉其用法: import java.math.BigInteger; public class Test { public static void main(String[] args) { BigInteger total=new BigInteger("0");  BigInteger base=new BigInteger("2"); for (int i = 0; i < 64; i++) { total=total.add(base.pow(i)); } System.out.println(total); }

    }

    5 java.math.BigInteger.pow(int exponent)方法

     返回一个BigInteger,其值是 (thisexponent),该指数是一个整数,而不是一个BigInteger。

    import java.math.*; public class BigIntegerDemo { public static void main(String[] args) { // create 2 BigInteger objects BigInteger bi1, bi2; // create and assign value to exponent int exponent = 2; // assign value to bi1 bi1 = new BigInteger("6"); // perform pow operation on bi1 using exponent bi2 = bi1.pow(exponent); String str = "Result is " + bi1 + "^" +exponent+ " = " +bi2; // print bi2 value System.out.println( str ); } }

    让我们编译和运行上面的程序,这将产生以下结果:

    Result is 6^2 = 36

    6求很大的素数

    素数就是不能再进行等分的整数。比如:7,11。而9不是素数, 因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5

    public class Application {       public static void main(String[] args) {           BigInteger bigInteger = new BigInteger("1");           for (int s = 1; s <= 1002; s++) {               bigInteger = bigInteger.nextProbablePrime();  //求下一个素数             System.out.println(s + " : " + bigInteger);           }       }   }  

    转载请注明原文地址: https://ju.6miu.com/read-664358.html

    最新回复(0)