[C언어] 제곱 내장 함수 사용 방법 (pow 함수)
C에는 숫자를 제곱하는 기호나 연산자는 없고, 대신 math.h 의 pow() 함수로, 제곱을 할 수 있습니다.
pow(밑, 지수)
의 형식으로 사용합니다. 예를 들어, 3의 제곱을 구하려면 pow(3.0, 2.0) 이라고 합니다. 함수의 입출력이 모두, 실수형인 double형입니다. 따라서 정수의 제곱을 구하려면, 정수를 실수로 변환하여 제곱을 구한 후 그 결과를 다시 정수로 변환해 주어야 합니다. 아래 예제와 같습니다.
★ 매우 중요 ★
pow 함수의 밑과 지수, 특히 "지수"는 Double 형태로 써줘야 이상한 값이 안나옵니다.
ex1) pow(0.24845157, 2/7) = 1.000000 (지수인 2/7을 int 형태로 받아서 지수가 0으로 인식되어 1^0 = 1을 리턴)
ex2) pow(0.24845157, 2.0/7.0) = 0.671757 (정상 작동)
#include <stdio.h>
#include <math.h>
int main(void) {
////////////////////////////////////////////////
// 3의 제곱 (3의 2승) 구하기
printf("%.0f\n", pow(3.0, 2.0));
// 출력 결과: 9
////////////////////////////////////////////////
// 5의 세제곱 (5의 3승) 구하기
double result;
double i = 5.0;
double j = 3.0;
result = pow(i, j);
printf("%.0f 의 %.0f 승 = %.0f\n", i, j, result);
// 출력 결과: 5 의 3 승 = 125
////////////////////////////////////////////////
// 3의 네제곱 (3의 4승) 구하기
// 입출력을 실수형과 정수형으로 변환하여 사용
int result2;
int i2 = 3;
int j2 = 4;
result2 = (int) pow((double)i2, (double)j2);
printf("%d 의 %d 승 = %d\n", i2, j2, result2);
// 출력 결과: 3 의 4 승 = 81
return 0;
}
'IT > C C++' 카테고리의 다른 글
[C/C++] 문자열 함수 정리 (0) | 2022.05.20 |
---|---|
[C/C++] 정수, 실수 나머지 구하기 (0) | 2022.05.20 |
[C/C++] 프로그램 종료 후 콘솔창 유지시키기 (0) | 2022.03.17 |
[C/C++] 키보드 매크로 프로그램 만들기 (0) | 2022.01.08 |
[C/C++] #pragma once 의미 (0) | 2021.03.18 |