欢迎访问服务百科信息网!
首页 >概念 >平方根计算
平方根计算

平方根计算

(计算一个非负实数的平方根)
功 能:一个非负实数的平方根函数原型:在VC6.0中的math.h头文件的函数原型为double sqrt(double);说明:sqrt系Square Root Calculations(平方根计算),通过这种运算可以考验CPU的浮点能力。
平方根计算资料
  • 中文名:平方根计算
  • 外文名:sqrt
  • 本质:程序函数
  • 函数原型:double sqrt(double)
  • 头文件:math.h
  • 应用:考验CPU的浮点能力
  • 功能:计算一个非负实数的平方根
  • 程序例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    #include

    #include

    int main(void)

    {

        double x = 4.0,result;

        result = sqrt(x); //result*result=x

        printf("Thesquarerootof%fis%f\n",x,result);

        return 0;

    }

    VC 2008后为重载函数,原型为 float sqrt (float),double sqrt (double),double long sqrt(double long)

    注意没有sqrt (int),但是返回值可以为int

    John Carmack's sqrt [C/C++]

    Carmack的sqrt计算函数在批量计量时的耗时比系统库函数还要少,优异的性能的根本原因就是那个令无数人膜拜的魔数0x5F3759DF。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    static float CarmackSqrt (float x)

    {

           float xhalf = 0.5f * x;

             

           int i = *(int*)&x;           // get bits for floating VALUE 

           i = 0x5f3759df - (i>>1);     // gives initial guess y0

           x = *(float*)&i;             // convert bits BACK to float

           x = x*(1.5f - xhalf*x*x);    // Newton step, repeating increases accuracy

           x = x*(1.5f - xhalf*x*x);    // Newton step, repeating increases accuracy

           x = x*(1.5f - xhalf*x*x);    // Newton step, repeating increases accuracy

           return (1 / x);

    }

    pascal

    a := sqrt(sqr(x-x[j])+sqr(y-y[j]));

    b := sqrt(sqr(x-x[k])+sqr(y-y[k]));

    c := sqrt(sqr(x[j]-x[k])+sqr(y[j]-y[k]));

    gcc

    Linux 中使用gcc编译器 需要加 -lm 作为链接,调用数学函数库math.h

    rand()函数是产生随机数的一个随机函数。函数包含在头文件stdlib.h

    例如:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    /*文件名test.c*/

    #include

    #include

    //#include

    void main()

    {

        double x;

        double n=rand()%100;

        printf("%lf\n",n);

        x=sqrt(n);

        printf("%lf\n",x);

    }

    EXCEL函数

    示例

    返回正平方根。

    语法

    SQRT(number)

    Number 要计算平方根的数。

    说明

    如果参数 Number 为负值,函数 SQRT 返回错误值 #Num!。

    Python函数

    #!/usr/bin/env python

    import math # This will import math module

    print("math.sqrt(100) is:", math.sqrt(100))

    C++

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    #include <iostream>

    //这里的cmath等价于C的math.h

    #include 

    using namespace std;

    int main()

    {

         double x, result;

         cin>>x;

         result=sqrt(x);

         cout<

         return 0;

    }

    //cmath等价于math.h,其就是using math.h的函数

    //VC 2008后为重载函数,原型为 float sqrt (float),double sqrt (double),long double sqrt(long double)

    1

    //注意没有sqrt (int),但是返回值可以为int

  • 上一篇百科:样本均值
  • 下一篇百科:完全正相关