Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用BigInteger作为指数进行指数计算?_Java - Fatal编程技术网

Java 如何使用BigInteger作为指数进行指数计算?

Java 如何使用BigInteger作为指数进行指数计算?,java,Java,我有一个大整数'X',我想看看下面是不是真的: 3^(X/2)=-1(模X) 进行指数计算的方法,如Math.pow(3,X)不接受BigInteger作为X的值,那么如何进行上述计算?使用BigDecimal.pow() 我举了一个例子 你确定你的方程式正确吗?左侧部分始终为正,因为它代表一个带正基的指数函数,而右侧部分始终为负,因为绝对值X(始终为正)和-1相乘。 package com.tutorialspoint; import java.math.*; public class B

我有一个大整数'X',我想看看下面是不是真的: 3^(X/2)=-1(模X)

进行指数计算的方法,如Math.pow(3,X)不接受BigInteger作为X的值,那么如何进行上述计算?

使用
BigDecimal.pow()

我举了一个例子


你确定你的方程式正确吗?左侧部分始终为正,因为它代表一个带正基的指数函数,而右侧部分始终为负,因为绝对值
X
(始终为正)和-1相乘。
package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

      // create 2 BigDecimal Objects
      BigDecimal bg1, bg2;

      MathContext mc = new MathContext(4); // 4 precision

      bg1 = new BigDecimal("2.17");

      // apply pow method on bg1 using mc
      bg2 = bg1.pow(3, mc);

      String str = "The value of " + bg1 + " to the power of 3, rounded to " + bg2;

      // print bg2 value
      System.out.println( str );
   }
}