头文件:#include math.h
创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10余年累计超上千家客户的网站建设总结了一套系统有效的全网营销解决方案,现已广泛运用于各行各业的客户,其中包括:成都搬家公司等企业,备受客户赞美。
sqrt() 用来求给定值的平方根,其原型为:double sqrt(double x);double sqrt(double x)。
x 为要计算平方根的值。
如果 x 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。
返回 x 平方根。注意,使用 GCC 编译时请加入-lm。实例计算200 的平方根值。
例子:
#include math.hmain(){ double root; root = sqrt(200); printf("answer is %f\n", root);}
输出结果:answer is 14.142136。
扩展资料:
使用sqrt函数需要注意的事项:
1、sqrt函数运行的是结果是算术平方根,即不能运算处负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
2、sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
3、sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
C语言中sqrt函数的使用方法:
C语言中sqrt函数是指的开方运算函数,得到的结果是函数变量(可以是数值,也可以是变量名)的算术平方根。在VC6.0中的math.h头文件的函数原型为doublesqrt(double)。
说明:sqrt系SquareRootCalculations(平方根计算),通过这种运算可以考验CPU的浮点能力。
程序例:
#include
#include
intmain(void)
{
doublex=4.0,result;
result=sqrt(x);//result*result=x
printf(“Thesquarerootof%fis%f\n”,x,result);
return0;
}
VC2008后为重载函数,原型为floatsqrt(float),doublesqrt(double),doublelongsqrt(doublelong)
注意没有sqrt(int),但是返回值可以为int。
注意事项:
1.sqrt函数运行的结果是算术平方根,即不能运算出负数值,也不能输出虚数结果。如需要得到算术平方根中的负数值,则应该在sqrt函数前添加负号。
2.sqrt函数的参数必须是非负数值,如果是负数值,则输出会报错,即数值无效;如果参数是未定义的非数字变量,则按回车后也会报错,即变量名有误。
3.sqrt函数的计算精度与C语言设置的精度有关,可以通过设置更改精度。
直接用两个数(或变量)相乘就可以表示平方,比如x*x
不过如果,需要求m的n次方,就需要用到pow(x,y)乘方(包括开方)这个库函数了,使用pow(x,y)这个库函数,需要math.h头文件。
其中x和y都是双精度浮点(double)型。
#include"math.h"
U32sqrt_fun(U64x){
U32low=0;
U32high=x;
U32mid;
U64data;
while(low high){
mid=(low+high)/2;
data=(U64)mid*mid;
if(data x){
high=mid-1;
}else if(data x){
low=mid+1;
}else{
return(mid);
}
}
return(mid);
}
voidmain(void){
volatileU32td1,td2;
U64d=0x12345678ABCD;
td2=sqrt(d);
td1=sqrt_fun(d);
}
扩展资料
C语言无参函数的定义:
dataType是返回值类型,它可以是C语言中的任意数据类型,例如int、float、char等。
functionName 是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。
body是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{}包围。
如果有返回值,在函数体中使用return语句返回。return出来的数据的类型要和dataType一样。
这个是经典的逐比特位确认法,它专门用来求解32位整型的开方。它认为32位整型的开方应该是一个16位的整型。题主可以参考如下链接
逐比特位求32位整数开方