c mathematical functions
이 튜토리얼은 M_PI와 같은 예제 및 C ++ 상수를 사용하여 abs, max, pow, sqrt 등과 같은 헤더 파일에 포함 된 중요한 C ++ 수학 함수를 설명합니다.
C ++는 프로그램에서 직접 사용할 수있는 많은 수학적 함수를 제공합니다. C 언어의 하위 집합 인 C ++는 C의 math.h 헤더에서 이러한 수학 함수의 대부분을 파생합니다.
C ++에서 수학적 함수는 헤더에 포함됩니다. .
=> 여기에서 완전한 C ++ 무료 교육 시리즈를 확인하십시오.
학습 내용 :
C ++의 수학 함수
C ++ 수학 함수 표
다음은 C ++의 중요한 수학 함수 목록과 함께 설명, 프로토 타입 및 예제입니다.
하지 마라 | 함수 | 원기 | 기술 | 예 |
---|---|---|---|---|
6 | 고동 | 더블 아탄 (더블 x); | 각도 x의 아크 탄젠트를 라디안으로 반환합니다. ** 호 탄젠트는 탄젠트 연산의 역 탄젠트입니다. | 이중 매개 변수 = 1.0; 비용<< atan (param) * 180.0 / PI; (여기서 PI = 3.142) ** 47.1239를 반환합니다. |
삼각 함수 | ||||
1 | 어떤 것 | double cos (이중 x); | 각도 x의 코사인을 라디안으로 반환합니다. | 비용<< cos ( 60.0 * PI / 180.0 ); (여기서 PI = 3.142) ** 0.540302 반환 |
두 | 없이 | double sin (double x); | 각도 x의 사인을 라디안으로 반환합니다. | 비용<< sin ( 60.0 * PI / 180.0 ); (여기서 PI = 3.142) ** 0.841471 반환 |
삼 | 그래서 | 더블 탄 (더블 x); | 각도 x의 탄젠트를 라디안으로 반환합니다. | 비용<< tan ( 45.0 * PI / 180.0 ); (여기서 PI = 3.142) ** 0.931596 반환 |
4 | acos | 이중 acos (이중 x); | 각도 x의 아크 코사인을 라디안으로 반환합니다. ** Arc 코사인은 cos 연산의 역 코사인입니다. | 이중 매개 변수 = 0.5; 비용<< acos (param) * 180.0 / PI; (여기서 PI = 3.142) ** 62.8319를 반환합니다. |
5 | 짜다 | 더블 asin (더블 x); | 각도 x의 아크 사인을 라디안으로 반환합니다. ** Arc 사인은 sin 연산의 역 사인입니다. | 이중 매개 변수 = 0.5; 비용<< asin (param) * 180.0 / PI; (여기서 PI = 3.142) ** 31.4159 반환 |
파워 함수 | ||||
7 | 위에 | double pow (double base, double exponent); | 지수를 거듭 제곱 한 밑을 반환합니다. | 비용<<”2^3 = “<< pow(2,3); ** 8을 반환합니다. |
8 | sqrt | 더블 sqrt (더블 x); | x의 제곱근을 반환합니다. | 비용<< sqrt(49); **는 7을 반환합니다. |
반올림 및 나머지 함수 | ||||
9 | 올림 | 이중 셀 (double x); | x보다 작지 않은 가장 작은 정수 값을 반환합니다. x를 위로 올립니다. | 비용<< ceil(3.8); ** 4를 반환합니다. |
10 | 바닥 | 더블 플로어 (더블 x); | x보다 크지 않은 더 큰 정수 값을 반환합니다. x를 아래로 반올림합니다. | 비용<< floor(2.3); ** 반환 2 |
열한 | fmod | 이중 fmod (이중 숫자, 이중 denom); | numer / denom의 부동 소수점 나머지를 반환합니다. | 비용<< fmod(5.3,2); ** 1.3을 반환합니다. |
12 | 자르다 | 이중 잘림 (이중 x); ** float 및 long double에 대한 변형도 제공합니다. | x보다 크지 않은 가장 가까운 정수 값을 반환합니다. x를 0으로 반올림합니다. | 비용<< trunc(2.3); ** 반환 2 |
13 | 일주 | 더블 라운드 (더블 x); ** float 및 long double에 대한 변형도 제공합니다. | x에 가장 가까운 정수 값을 반환합니다. | 비용<< round(4.6); ** 5를 반환합니다. |
14 | 나머지 | 이중 나머지 (이중 숫자, 이중 denom); ** float 및 long double에 대한 변형도 제공합니다. | 가장 가까운 값으로 반올림 된 숫자 / 데놈의 부동 소수점 나머지를 반환합니다. | 비용<< remainder(18.5 ,4.2); ** 1.7 반환 |
최소, 최대, 차이 및 절대 함수 | ||||
열 다섯 | fmax | double fmax (double x, double y). ** float 및 long double에 대한 변형도 제공합니다. | 인수 x 및 y의 더 큰 값을 반환합니다. 한 숫자가 NaN이면 다른 숫자가 반환됩니다. | 비용<< fmax(100.0,1.0); ** 100을 반환합니다. |
16 | fmin | double fmin (double x, double y); ** float 및 long double에 대한 변형도 제공합니다. | 인수 x 및 y 중 더 작은 값을 반환합니다. 한 숫자가 NaN이면 다른 숫자가 반환됩니다. | 비용<< fmin(100.0,1.0); ** 반환 1 |
17 | fdim | double fdim (double x, double y); ** float 및 long double에 대한 변형도 제공합니다. | x와 y의 양의 차이를 반환합니다. x> y이면 x-y를 반환합니다. 그렇지 않으면 0을 반환합니다. | 비용<< fdim(2.0,1.0); ** 반환 1 |
18 | 팹 | 더블 팹 (더블 x); | x의 절대 값을 반환합니다. | 비용<< fabs(3.1416); ** 3.1416 반환 |
19 | 부분 | 이중 abs (이중 x); ** float 및 long double에 대한 변형도 제공합니다. | x의 절대 값을 반환합니다. | 비용<< abs(3.1416); ** 3.1416 반환 |
지수 및 로그 함수 | ||||
이십 | 특급 | double exp (double x); | x의 지수 값, 즉 e x를 반환합니다. | 비용<< exp(5.0); **는 148.413을 반환합니다. |
이십 일 | 로그 | 이중 로그 (이중 x); | x의 자연 로그를 반환합니다 (밑이 e). | 비용<< log(5); ** 1.60944 반환 |
22 | log10 | double log10 (double x); | x의 상용 로그를 반환합니다 (밑이 10까지). | 비용<< log10(5); ** 0.69897을 반환합니다. |
위에서 설명한 모든 기능을 보여주는 C ++ 프로그램입니다.
#include #include using namespace std; int main () { int PI = 3.142; cout<< 'cos(60) = ' << cos ( 60.0 * PI / 180.0 )< 산출:
cos (60) = 0.540302
죄 (60) = 0.841471
황갈색 (45) = 0.931596
acos (0.5) = 62.8319
짠맛 (0.5) = 31.4159
던지기 (1.0) = 47.1239
2 ^ 3 = 8
sqrt (49) = 7
ceil (3.8) = 4
floor (2.3) = 2
fmod (5.3,2) = 1.3
trunc (5.3,2) = 2
round (4.6) = 5
나머지 (18.5,4.2) = 1.7
fmax (100.0,1.0) = 100
fmin (100.0,1.0) = 1
fdim (2.0,1.0) = 1
팹 (3.1416) = 3.1416
abs (3.1416) = 3.1416
로그 (5) = 1.60944
exp (5.0) = 148.413
로그 10 (5) = 0.69897
위의 프로그램에서 우리는 각각의 결과와 함께 위에서 표로 만든 수학 함수를 실행했습니다.
다음으로 C ++에서 사용되는 몇 가지 중요한 수학 함수에 대해 설명합니다.
Abs => 주어진 숫자의 절대 값을 계산합니다.
Sqrt => 주어진 숫자의 제곱근을 찾는 데 사용됩니다.
펑 => 건포도 기준으로 주어진 지수로 결과를 반환합니다.
Fmax => 주어진 최대 두 개의 숫자를 찾습니다.
C ++ 예제와 함께 각 함수에 대해 자세히 설명합니다. 또한 양적 프로그램에서 자주 사용되는 수학 상수 M_PI에 대해 더 많이 알게 될 것입니다.
C ++ abs
기능 프로토 타입 : return_type abs (데이터 _ 유형 x);
기능 매개 변수 : 절대 값이 반환되는 x => 값.
x는 다음 유형일 수 있습니다.
더블
흙손
롱 더블
반환 값 : x의 절대 값을 반환합니다.
매개 변수로서 반환 값은 다음 유형일 수도 있습니다.
더블
흙손
롱 더블
기술: 함수 abs는 함수에 전달 된 매개 변수의 절대 값을 반환하는 데 사용됩니다.
예:
#include #include using namespace std; int main () { cout << 'abs (10.57) = ' << abs (10.57) << '
'; cout << 'abs (-25.63) = ' << abs (-25.63) << '
'; return 0; }
산출:
여기서는 명확성을 위해 abs 함수와 함께 양수 및 음수로 예제를 사용했습니다.
C ++ sqrt
기능 프로토 타입 : double sqrt (double x);
기능 매개 변수 : x => 제곱근을 계산할 값.
x가 음수이면 domain_error가 발생합니다.
반환 값 : x의 제곱근을 나타내는 double 값입니다.
x가 음수이면 domain_error가 발생합니다.
기술: sqrt 함수는 숫자를 매개 변수로 취하고 제곱근을 계산합니다. 인수가 음수이면 도메인 오류가 발생합니다. 도메인 오류가 발생하면 전역 변수 errno가 설정됩니다. EDOM .
예:
#include #include using namespace std; int main () { double param, result; param = 1024.0; result = sqrt (param); cout<<'Square root of '< 산출:
위의 프로그램에서 sqrt 함수를 사용하여 1024와 25의 제곱근을 계산했습니다.
C ++ 포로
기능 프로토 타입 : double pow (double base, double exponent).
기능 매개 변수 : 기본 => 기본 값.
지수 => 지수 값
반환 값 : 밑을 지수로 올린 후 얻은 값입니다.
기술: 함수 pow는 두 개의 인수, 즉 밑과 지수를 취한 다음 밑을 지수의 거듭 제곱으로 올립니다.
유한 음수 및 지수의 밑이 음수이지만 정수 값이 아닌 경우 도메인 오류가 발생합니다. 특정 구현은 밑과 지수가 모두 0이고 밑이 0이고 지수가 음수 일 때 도메인 오류를 일으킬 수 있습니다.
함수 결과가 반환 유형에 비해 너무 작거나 너무 크면 범위 오류가 발생할 수 있습니다.
예:
#include #include using namespace std; int main () { cout<< '2 ^ 4 = '< 산출:
소프트웨어 엔지니어링의 수명주기 모델
위 프로그램은 C ++에서 POW 함수의 사용법을 보여줍니다. 숫자를 지정된 거듭 제곱으로 올려 값을 계산하는 것을 볼 수 있습니다.
C ++ 최대
기능 프로토 타입 : double fmax (double x, double y);
기능 매개 변수 : x, y => 최대 값을 찾기 위해 비교할 두 값.
반환 값 : 두 매개 변수의 최대 값을 반환합니다.
매개 변수 중 하나가 Nan이면 다른 값이 리턴됩니다.
기술: 함수 fmax는 두 개의 숫자 인수를 받아 두 값의 최대 값을 반환합니다. 위에서 언급 한 프로토 타입 외에도이 함수에는 float, long double 등과 같은 다른 데이터 유형에 대한 오버로드도 있습니다.
예:
#include #include using namespace std; int main () { cout <<'fmax (100.0, 1.0) = ' << fmax(100.0,1.0)< 산출:
위의 코드는 fmax 함수를 사용하여 최대 두 숫자를 찾는 방법을 보여줍니다. 숫자 중 하나가 음수이고 두 숫자가 모두 음수 인 경우를 봅니다.
C ++의 수학 상수
C ++의 헤더에는 수학적 및 정량적 코드에서 사용할 수있는 몇 가지 수학적 상수도 포함됩니다.
프로그램에 수학 상수를 포함하려면 #define 지시문을 사용하고 '_USE_MATH_DEFINES'매크로를 지정해야합니다. 이 매크로는 라이브러리를 포함하기 전에 프로그램에 추가됩니다.
이것은 아래와 같이 수행됩니다.
#define _USE_MATH_DEFINES #include #include ….C++ Code…..
수학적 및 정량적 응용 프로그램을 작성하는 동안 자주 사용하는 상수 중 하나는 PI입니다. 다음 프로그램은 C ++ 프로그램에서 미리 정의 된 상수 PI의 사용법을 보여줍니다.
#define _USE_MATH_DEFINES #include #include using namespace std; int main() { double area_circle, a_circle; int radius=5; double PI = 3.142; //using predefined PI constant area_circle = M_PI * radius * radius; cout<<'Value of M_PI:'< 산출:
위 프로그램은에서 사용할 수있는 수학 상수 M_PI를 보여줍니다. 3.142 값으로 초기화 된 지역 변수 PI도 제공했습니다. 출력은 동일한 반경 값을 사용하여 M_PI 및 로컬 PI 변수를 사용하여 계산 된 원의 면적을 보여줍니다.
계산 된 두 영역 값간에 큰 차이는 없지만 PI를 로컬로 정의 된 변수 또는 상수로 사용하는 것이 종종 바람직합니다.
결론
C ++는 abs, fmax, sqrt, POW 등과 같은 다양한 수학 함수와 정량적 프로그램을 개발하는 데 사용할 수있는 삼각 함수 및 로그 함수를 사용합니다. 이 튜토리얼에서 예제와 함께 몇 가지 중요한 기능을 살펴 보았습니다.
또한 다양한 공식을 계산하는 데 사용할 수있는 기하학적 상수 PI의 값을 정의하는 수학 상수 M_PI를 보았습니다.
C ++는 프로그램에 헤더를 포함하여 수학 함수를 사용합니다. 이러한 함수는 미리 정의되어 있으며 프로그램에서 정의 할 필요가 없습니다. 코드에서 이러한 함수를 직접 사용할 수 있으므로 코딩이 더 효율적입니다.
=> 여기에서 광범위한 C ++ 교육 자습서 시리즈를 읽어보십시오.
추천 도서