IT/C C++

[C언어] 제곱 내장 함수 사용 방법 (pow 함수)

크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널 2022. 5. 16. 16:19
반응형

[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;
}

반응형

 

 

반응형