23 , 3 4 ...등의 거듭제곱 값은 pow 함수로 구할 수 있습니다.다음은 pow 관련 함수의 메뉴얼 입니다.
pow , powf ,powl 함수를 사용하기 위해서는 math.h 를 포함시켜야 하고 함수의 원형(prototype)이 주어져 있습니다.
이 중 pow 함수의 원형을 설명하면 ,
인자로 주는 두 수는 double 형이어야 합니다. 만약 정수 값으로 인자로 줄 경우에는 cast 연산자를 사용하여 형 변환을 해 주는 것이 안전한 사용 법 입니다.
- pow 함수는 두 수를 인자로 받고
- xy한 수를 구해서 돌아 옵니다.
pow((double)a,(double)b); //a,b 가 정수형 변수 일 때구한 값을 출력하거나 변수로 받을 때 정수 값(변수)으로 돌려 받기 위해서는 마찬가지로 형 변환을 해 주고 , 실수(double 형)으로 받을 때 는 그대로 사용하면 됩니다.
- printf("%d",(int)pow((double)a,(double)b); //결과를 정수로 출력
- printf("%.2lf",pow((double)a,(double)b); // 구한 값을 double 형으로 소수이하 두자리 까지 출력
#include <stdio.h> #include <math.h> int main() { int x,y; x=2; y=3; printf("%d\n",(int)pow(double(x),double(y))); // 2^3 x=3; y=4; printf("%d\n",(int)pow(double(x),double(y))); //3^4 x=2; printf("%.3lf\n",pow(double(x),0.5)); //√2 를 소수 세자리 }
방정식 x*x = 4 을 근은 x = 2 혹은 x = -2 입니다.를 만족하는 근을 특별히 거듭제곱 근이라 한다. 거듭 제곱근에는 양의 제곱근,음의 제곱근이 있습니다. 이 경우 x =2 가 양의 거듭제곱근이고 , x=-2 가 음의 거듭 제곱근입니다. 가 되는 x 는 x= 2 혹은 x= -2 입니다.
이 때 x 가 양수인 2 를 √4 라고 합니다.
√4 = 2몇 가지 √ 값을 보면√1 = 1 √4 = 2 √9 = 3 √16 = 4 ...√3 은 얼마일까요? 대충 1.xxxx 가 되리라는 것은 추측 할 수 있습니다.
#include <stdio.h> #include <math.h> int main() { double a; a =3.0; printf("%lf",sqrt(a)); }정수 값을 대입 후 정수 값으로 출력하기 위해서는 sqrt 함수는 받는 값이 double , 돌려 주는 값도 double 형이라 다음과 같이 cast 연산자를 사용하면 됩니다.#include <stdio.h> #include <math.h> int main() { int a; a =4; printf("%d",(int)sqrt((double)a)); }
그림과 같이 경사진 곳에 구슬을 둔다고 생각합니다.
이 함수를 gauss 함수라고 하고 , 기호 혹은 [x] 로 표현 합니다.
- 2 와 3 사이에 구슬을 놓으면 2 번 구멍에 빠지고 ,
- -3 과 -2 사이에 구슬을 놓으면 -3 번 구멍에 빠지고 ,
- 2 에 구슬을 놓으면 2 번 구멍,
- -3 에 놓으면 -3 번에 빠집니다.
즉 는 x 보다 크지 않는 최대 정수입니다. "x 보다 크지 않다"입니다. 같아도 상관 없습니다.
#include <stdio.h> #include <math.h> int main() { printf("%lf\n",floor(2.3)); printf("%lf\n",floor(2.8)); printf("%lf\n",floor(2.0)); printf("%lf\n",floor(-2.3)); printf("%lf\n",floor(-2.8)); printf("%lf\n",floor(-2.0)); }
그림과 같이 경사진 곳에 구슬을 둔다고 생각합니다.
- 2 와 3 사이에 구슬을 놓으면 3 번 구멍에 빠지고 ,
- -3 과 -2 사이에 구슬을 놓으면 -2 번 구멍에 빠지고 ,
- 2 에 구슬을 놓으면 2 번 구멍,
- -3 에 놓으면 -3 번에 빠집니다.
즉 는 x 보다 작지 않는 최소 정수입니다. "x 보다 작지 않다"입니다. 같아도 상관 없습니다.
#include <stdio.h> #include <math.h> int main() { printf("%lf\n",ceil(2.3)); printf("%lf\n",ceil(2.8)); printf("%lf\n",ceil(2.0)); printf("%lf\n",ceil(-2.3)); printf("%lf\n",ceil(-2.8)); printf("%lf\n",ceil(-2.0)); }
출처:dovelet