Hidde Hidde - 6 months ago 10
Java Question

calculating powers in Java

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.