
Math.pow는 거듭제곱 함수다.
자바 표준 라이브러리 java.lang.Math안에 있고, 형태는 다음과 같다.
double Math.pow(double a, double b) // a^b (a를 b제곱)
double임에 주의해야한다. 만약에 정수 결과가 필요하면 캐스팅을 해야한다. -> int n = (int) Math.pow(10, 6); // 1_000_000 (단, 오버플로/정밀도 주의)int a = 2, b = 10;
double d = Math.pow(a, b); // OK. a,b가 자동으로 double로 승격됨
int나 long을 넣으면 자동으로 double로 형 변환(primitive widening) 되어 호출됩니다.
반환형은 항상 double 입니다.
그냥 캐스팅하면 정밀도/범위 문제가 생길 수 있습니다.
int x = (int) Math.pow(2, 10); // 1024 -> OK
int y = (int) Math.pow(2, 31); // 2147483648 이지만 int 범위 초과 → 2147483647로 클램핑