C ++中的sqrt,sqrtl和sqrtf
在C++的cmath库中,除了sqrt之外,还有其他用于获取平方根的函数。sqrt基本上用于双类型输入。其他用于浮点数,长型数据等。让我们看看这些函数的用法。
该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()
方法
此功能用于长双精度型数据。因此,这将返回longdouble类型的平方根。这是精度更高的两倍。当我们使用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