C++ Reference: Standard C++ Library reference: C Library: cmath: sqrt

发布于:2022-12-06 ⋅ 阅读:(626) ⋅ 点赞:(0)

C++官网参考链接:https://cplusplus.com/reference/cmath/sqrt/

函数 
<cmath> <ctgmath>
sqrt
C90
double sqrt (double x);
C99
double sqrt  (double x); 
float sqrtf (float x); 
long double sqrtl (long double x);
C++98
double sqrt (double x);      
float sqrt (float x);
long double sqrt (long double x);
C++11
double sqrt (double x);      
float sqrt (float x);
long double sqrt (long double x);     
double sqrt (T x);           // additional overloads for integral types

计算平方根 
返回x的平方根。 
C99
头文件<tgmath.h>提供了该函数的泛型类型的宏版本。
C++98
该函数在<complex><valarray>中被重载(参见complex sqrtvalarray sqrt) 
C++11
在此头文件(<cmath>)中为整型(integral types)提供了额外的重载:这些重载在计算之前有效地将x转换为double类型(定义T为任意整数类型(integral type))。
此函数在<complex><valarray>中也被重载(参见complex sqrtvalarray sqrt)。

形参

计算其平方根的值。
如果实参为负,则发生定义域错误。

返回值
x的平方根。
如果x为负数,则发生定义域错误: 
C90(C++98)
如果发生定义域错误,将全局变量errno设置为EDOM
C99(C++11)
如果发生定义域错误: 
math_errhandling具有MATH_ERRNO集合:全局变量errno设置为EDOM
math_errhandling具有MATH_ERREXCEPT集合:将引发FE_INVALID

用例
/* sqrt example */
#include <stdio.h>      /* printf */
#include <math.h>       /* sqrt */

int main ()
{
  double param, result;
  param = 1024.0;
  result = sqrt (param);
  printf ("sqrt(%f) = %f\n", param, result );
  return 0;
}
输出: