平方根計算

平方根計算

功 能: 一個非負實數的平方根

函式原型: 在VC6.0中的math.h頭檔案的函式原型為double sqrt(double);

說明:sqrt系Square Root Calculations(平方根計算),通過這種運算可以考驗CPU的浮點能力。

基本介紹

  • 中文名:平方根函式
  • 外文名:sqrt
  • 功能:計算一個非負實數的平方根
  • 函式原型:double sqrt(double)
  • 套用:考驗CPU的浮點能力
  • 頭檔案:math.h
  • 本質:程式函式
程式例,pascal,gcc,EXCEL函式,Python函式,C++,

程式例

#include<math.h>#include<stdio.h>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。
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
例如:
/*檔案名稱test.c*/#include<stdio.h>#include<math.h>//#include<stdlib.h>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++

#include <iostream>//這裡的cmath等價於C的math.h#include <cmath>using namespace std;int main(){     double x, result;     cin>>x;     result=sqrt(x);     cout<<x<<"的平方根是"<<result<<endl;     return 0;}//cmath等價於math.h,其就是using math.h的函式//VC 2008後為重載函式,原型為 float sqrt (float),double sqrt (double),double long sqrt(double long)//注意沒有sqrt (int),但是返回值可以為int

相關詞條

熱門詞條

聯絡我們