Hidde - 1 year ago 59

Java Question

Is there any other way in Java to calculate a power of an integer?

I use Math.pow(a,b) now, but it returns a double, and that is usually a lot of work, and looks less clean when you just want to use integers (a power will then also always result in an integer).

Is there something as simple as a**b like in Python?

Answer

Integers are only 32 bits. This means that its max value is 2^31 -1. As you see, for very small numbers, you quicly have a result which can't be represented by an integer anymore. That's why Math.pow uses double.

If you want arbitrary integer precision, use `BigInteger.pow`

. But it's of course less efficient.

Source (Stackoverflow)