在头文件中定义float sqrtf(float arg);(1)(自C99以来)

double sqrt(double arg);(2)

long double sqrtl(long double arg);(3)(自C99以来)

在头文件中定义

#define sqrt(arg)(4)(自C99以来)

1-3)计算平方根arg。

4)类型 - 通用宏:如果arg有类型long double,sqrtl被调用。否则,如果arg有整数类型或类型double,sqrt则调用。否则,sqrtf被调用。如果arg是复杂的或虚,则宏调用相应的复变函数(csqrtf,csqrt,csqrtl)。

参数

arg-浮点值

返回值

如果没有错误发生arg,则返回(√arg)的平方根。

如果发生域错误,则返回实现定义的值(NaN,如果支持)。

如果由于下溢而发生范围错误,则返回正确的结果(舍入后)。

错误处理

按照math_errhandling中的指定报告错误。

如果arg小于零,则会发生域错误。

如果实现支持IEEE浮点运算(IEC 60559),

如果参数小于-0,FE_INVALID则提高并返回NaN。

如果参数为+∞或±0,则返回,未修改。

如果参数是NaN,则返回NaN

注意

sqrt是IEEE标准所要求的。唯一需要确定的其他操作是算术运算符和函数fma。在舍入到返回类型(使用默认舍入模式)后,结果sqrt与无限精确的结果无法区分。换句话说,误差小于0.5 ulp。其他功能,包括pow,并不那么受到限制。

示例

#include #include #include #include

#pragma STDC FENV_ACCESS ON

int main(void){    // normal use    printf("sqrt(100) = %f\n", sqrt(100));    printf("sqrt(2) = %f\n", sqrt(2));    printf("golden ratio = %f\n", (1+sqrt(5))/2);    // special values    printf("sqrt(-0) = %f\n", sqrt(-0.0));    // error handling

errno = 0; feclearexcept(FE_ALL_EXCEPT);    printf("sqrt(-1.0) = %f\n", sqrt(-1));    if(errno == EDOM) perror("    errno == EDOM");    if(fetestexcept(FE_INVALID)) puts("    FE_INVALID was raised");}

可能的输出:

sqrt(100) = 10.000000sqrt(2) = 1.414214golden ratio = 1.618034sqrt(-0) = -0.000000sqrt(-1.0) = -nan

errno = EDOM: Numerical argument out of domain

FE_INVALID was raised

参考

C11标准(ISO/IEC 9899:2011):7.12.7.5 sqrt函数(p:249)

7.25类型通用数学(p:373-375)

F.10.4.5 sqrt函数(p:525)

C99标准(ISO/IEC 9899:1999):7.12.7.5 sqrt函数(p:229-230)

7.22类型通用数学(p:335-337)

F.9.4.5 sqrt函数(p:462)

C89/C90标准(ISO/IEC 9899:1990):4.5.5.2 sqrt函数

See also

powpowfpowl (C99)(C99)computes a number raised to the given power (xy)  (function)cbrtcbrtfcbrtl (C99)(C99)(C99)computes cubic root (3√x)  (function)

hypothypotfhypotl (C99)(C99)(C99)computes square root of the sum of the squares of two given numbers (√x2+y2)  (function)

csqrtcsqrtfcsqrtl (C99)(C99)(C99)computes the complex square root  (function)

| C++ documentation for sqrt |

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

cbrt c语音_sqrt - [ C语言中文开发手册 ] - 在线原生手册 - php中文网相关推荐

  1. cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义int isgraph(int ch); 检查给定字符是否具有图形表示形式,即它是数字(0123456789),大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ),小写字母 ...

  2. cbrt c语音_cbrt (Numerics) – C 中文开发手册 - Break易站

    C 语言中文开发手册 cbrt (Numerics) - C 中文开发手册 在头文件中定义 ​ ​ float cbrtf( float arg ); (1) (since C99) double c ...

  3. c 语言memmove,memmove - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义void * memmove(void * dest,const void * src,size_t count);(1) errno_t memmove_s(void * dest,r ...

  4. php中的lc_time,LC_TIME - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义#define LC_ALL / *实现定义* / #define LC_COLLATE / *实现定义* / #define LC_CTYPE / *实现定义* / #define L ...

  5. c语言 strncat,strncat - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义(1) char * strncat(char * dest,const char * src,size_t count);(直到C99) char * strncat(char * r ...

  6. c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义int fsetpos(FILE * stream,const fpos_t * pos); stream根据指向的值设置文件流的文件位置指示符和多字节解析状态(如果有)pos. 除了建 ...

  7. c语言中mw shl code,cacoshl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float complex       cacoshf( float complex z );(1)(since C99) double complex      cacosh( dou ...

  8. php vprintf,vprintf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    格式-指向以空字符结尾的字符串的指针,指定如何解释数据.格式字符串由普通的多字节字符(%除外)组成,它们被原样复制到输出流和转换规范中.每个转换规范具有以下格式:介绍%字符(可选)一个或多个标志,用于 ...

  9. c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float frexpf(float arg,int * exp);(1)(自C99以来) double frexp(double arg,int * exp);(2) long dou ...

最新文章

  1. 扎克伯格|在美国国会数据门听证会上的证词-中英文全文
  2. 【MySQL】MySQL的group_concat使用例子
  3. HashMap和HashSet的区别
  4. java 默认函数,java 构造函数默认修饰符
  5. BZOJ2298 [HAOI2011]problem a 【dp】
  6. 设计模式 — 创建型模式 — 工厂模式
  7. Web前端开发笔记——第三章 CSS语言 第五节 盒子模型
  8. 产品新人没有完整项目经验?这篇文章帮你打开思路
  9. Revit 2011 二次开发之Ribbon
  10. html跳动的小球,canvas绘制跳动的小球
  11. springboot三层架构_几张图让你快速了解数据中台技术架构
  12. Vue报错:npm run start npm ERR! missing script: start
  13. linux下各种player不显示mkv字幕的解决
  14. 定义日期或日期和时间格式
  15. Flink快速回忆之Operators(运算符)
  16. 一个超级棒的 Chrome 翻译插件
  17. ADB调试关闭荣耀手机的系统更新(烦人的推送)
  18. 华为nova8pro鸿蒙系统怎么看,华为nova8的隐藏功能_华为nova8隐藏功能怎么开启
  19. 前端_快速入门Vue.js框架
  20. Oracle批量插入UUID数据

热门文章

  1. 2D游戏中遮挡实现--记录
  2. Apple Developer:苹果客服中心电话
  3. 面试题错题解析5_操作系统
  4. PDM数据表结构字段导出到excel
  5. 初等数论重要公式总结
  6. 初等数论——欧几里得算法
  7. 我的职业梦计算机软件,我的职业梦作文500字
  8. ccm linux中安装教程,StarCCM+ V5.02.009安装指南(PC Linux 32)
  9. 卡罗拉 (COROLLA) 更换空气滤清器
  10. DXF库(dxflib)使用指南