본문 바로가기

C, C++

수학 함수

수학 함수를 사용하려면 math.h 헤더를 포함해야 합니다.

먼저 삼각함수부터 살펴보면,

double sin(double x);
double cos(double x);
double tan(double x); 
double asin(double x);
double acos(double x);
double atan(double x);
double sinh(double x);
double cosh(double x); 
double tanh(double x);
double atan2(double y, double x);

여기서 앞에 a가 붙은 함수들은 역삼각 함수이며, 뒤에 h가 붙은 함수들은 쌍곡선 삼각 함수입니다.

함수의 인수는 각도(degree)가 아니라 라디안(radian) 값을 받는데 이를 변환하기 위해선 다음과 같은 공식을 사용합니다.

 

역삼각 함수들은 각도가 아닌 라디안 값을 반환합니다.

atan의 변형인 atan2atan2(y, x) = atan(y/x) 입니다.

    • sqrt 함수는 해당 수의 제곱 근을 반환합니다.
double sqrt(double x);

 

      • pow 함수는 x의 y 제곱 값을 반환합니다.
double pow(double x,double y);

 

        • log 함수는 자연로그 값을 구합니다.

double log(double x);

 

          • log10함수는 상용로그 값을 구합니다.

double log10(double x);

 

            • exp는 e의 x 제곱 값을 구합니다.
double exp(double x);

 

              • hypot은 직각 삼각형의 빗변 길이를 구합니다.( = sqrt(x * x + y *y))
double hypot(double x,double y);

 

                • floor는 x의 내림한 값을 구합니다.
double floor(double x);

 

                  • ceil은 x의 올림 값을 구합니다.
double ceil(double x);

 

                    • round는 x의 반올림 값을 구합니다.
double round(double x);

 

                      • fmod는 실수 나눗셈(x / y)의 나머지를 구합니다.
double fmod(double x, double y);

 

                        • 다음은 x의 절댓값을 구하는 함수들입니다.
int abs(int n);
long labs(long n);
long long llabs(long long x);
double fabs(double x);

위 함수들은 다른 점은 같지만 인수와 반환값 타입만 다릅니다.

※ float 숫자를 인수로 받고 반환하는 함수들은 이름 뒤에 f가 붙습니다.

'C, C++' 카테고리의 다른 글

랜덤 함수  (0) 2020.02.04
시간 함수  (0) 2020.01.12
nullptr(NULL)  (0) 2020.01.07
동적 할당  (0) 2020.01.06
goto  (0) 2019.12.27