Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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 快速提问,为什么我的指数被封顶?_Java_Exponent - Fatal编程技术网

Java 快速提问,为什么我的指数被封顶?

Java 快速提问,为什么我的指数被封顶?,java,exponent,Java,Exponent,这将输出2147483647 这显然是错误的,如果我输入其他指数,输出仍然是一样的。 如何删除此上限以及导致此上限的原因?若要删除此上限,请使用其他数据类型 int的上限为2^31-1,long的上限为2^63-1,但AFAIK biginger没有上限: public static void main(String[] args){ int res = (int)Math.pow(2017, 202); System.out.println(res); } 但是,不要将其用于普通计算,因

这将输出2147483647

这显然是错误的,如果我输入其他指数,输出仍然是一样的。
如何删除此上限以及导致此上限的原因?

若要删除此上限,请使用其他数据类型

int
的上限为2^31-1,
long
的上限为2^63-1,但AFAIK biginger没有上限:

public static void main(String[] args){

int res = (int)Math.pow(2017, 202);

System.out.println(res);
}

但是,不要将其用于普通计算,因为它要慢得多。

只需使用
biginger
biginger result=biginger.valueOf(2017)。pow(202)
如果你是为了某种编码/数学测验/问题进行计算,那么实际上根本不需要计算幂,例如,如果您以后修改了
mod
BigInteger res = new BigInteger("2017").pow(202)