Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 sqrt, sqrtl 및 sqrtf

<시간/>

C++의 cmath 라이브러리에는 sqrt를 제외하고 제곱근을 구하는 다양한 함수가 있습니다. sqrt는 기본적으로 이중 입력에 사용됩니다. 나머지는 float, long 유형 데이터 등에 사용됩니다. 이러한 함수의 사용법을 살펴보겠습니다.

sqrt() 함수

이 함수는 이중 유형 데이터에 사용됩니다. 따라서 이것은 double 유형의 제곱근을 반환합니다. 구문은 아래와 같습니다.

double sqrt(double argument)

예시

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   double x = 144.0;
   double y = 180.0;
   cout << fixed << setprecision(12) << sqrt(x) << endl;
   cout << fixed << setprecision(12) << sqrt(y) << endl;
}

출력

12.000000000000
13.416407864999

인수를 입력해야 합니다. 그렇지 않으면 오류가 반환됩니다. 그리고 인수가 음수이면 NaN도 반환합니다.

sqrtf() 함수

이 함수는 부동 유형 데이터에 사용됩니다. 따라서 이것은 float 유형의 제곱근을 반환합니다. 구문은 아래와 같습니다.

float sqrtf(float argument)

예시

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   float x = 144.0;
   float y = 180.0;
   cout << fixed << setprecision(6) << sqrtf(x) << endl;
   cout << fixed << setprecision(6) << sqrtf(y) << endl;
}

출력

12.000000
13.416408

인수를 입력해야 합니다. 그렇지 않으면 오류가 반환됩니다. 그리고 인수가 음수이면 NaN도 반환합니다.

sqrtl() 함수

이 함수는 long double 형식 데이터에 사용됩니다. 따라서 이것은 long double 유형의 제곱근을 반환합니다. 이것은 더 정확한 두 배입니다. 1018차의 정수를 사용할 때 이 함수가 유용합니다.

long double sqrtl(long double argument)

예시

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   long long int x = 5000000000000000000;
   long long int y = 999999999999999999;
   cout << fixed << setprecision(12) << sqrtl(x) << endl;
   cout << fixed << setprecision(12) << sqrtl(y) << endl;
}

출력

2236067977.499789696420
999999999.999999999476