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); } |
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]));
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); } |
示例
返回正平方根。语法
SQRT(number)
Number 要计算平方根的数。
说明
如果参数 Number 为负值,函数 SQRT 返回错误值 #Num!。
#!/usr/bin/env python
import math # This will import math module
print("math.sqrt(100) is:", math.sqrt(100))
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 |