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