pow, powf
계산 x 의 거듭제곱 y.
double pow(
double x,
double y
);
double pow(
double x,
int y
); // C++ only
float pow(
float x,
float y
); // C++ only
float pow(
float x,
int y
); // C++ only
long double pow(
long double x,
long double y
); // C++ only
long double pow(
long double x,
int y
); // C++ only
float powf(
float x,
float y
);
매개 변수
x
자료입니다.y
지 수입니다.
반환 값
반환 값은 xy.오버플로 또는 언더플로가 오류 메시지 없이 인쇄 합니다.
X 값 및 y |
반환 값이 pow |
---|---|
x< > 0 and y = 0.0 |
1 |
x= 0.0 and y = 0.0 |
1 |
x= 0.0 and y < 0 |
INF |
설명
pow2 보다 큰 정수 계열 부동 소수점 값을 인식 하지 않습니다64, 같은 1.0E100.
pow스트리밍 SIMD 확장 2 (SSE2)을 사용 하 여 구현을 했습니다.참조 하십시오 _set_SSE2_enable 에 대 한 정보와 SSE2 구현을 사용 하 여 제한 합니다.
C + + 수 있도록 오버 로드의 다양 한 오버 로드를 호출할 수 있도록 pow.C 프로그램에서 pow 항상 두 double 값을 사용 하 고 double 값을 반환 합니다.
pow(int, int) 오버 로드를 사용할 수 없습니다.이 오버 로드를 사용 하는 경우 컴파일러가 C2668 방출 합니다.이 문제를 방지 하려면 첫 번째 매개 변수를 캐스팅 double, float, 또는 long double.
요구 사항
루틴 |
필수 헤더 |
---|---|
pow, powf |
<math.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
라이브러리
모든 버전의 C 런타임 라이브러리.
예제
// crt_pow.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.0, y = 3.0, z;
z = pow( x, y );
printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}
Output
2.0 to the power of 3.0 is 8.0