📄 sqrtf.c
字号:
/*采用二分法实现的求开平方的函数sqrtf()*/float sqrtf(float x){ //int x1,x2,x3; float x1,x2,x3,y,fx; float fx1,fx2,fx3,fx4;//printf("sqrtf() test 1\n"); if(x<0) printf("x<0,No Root Value!"); else if(x==0) y=x; else{ x1=0;x2=0; do { x2=x2+0.5;//printf("in sqrtf() x2=%d\n",(int)x2); fx2=x2*x2-x;//printf("in sqrtf() fx2=%d\n",(int)(fx2));printf("sqrtf() test 2\n"); }while(fx2<0); if(fx2==0) y=x2; else { x1=x2-0.5; do { x3=(x1+x2)/2; fx1=x1*x1-x; //printf("sqrtf() test 3 fx1=%d\n",(int)(-(1000*fx1))); fx3=x3*x3-x; //printf("sqrtf() test 4\n"); if(fx1*fx3>0) x1=x3; /*fx1与fx3同符号,则根值处于x3~x2之间*/ if(fx1*fx3<0) x2=x3; /*fx1与fx3符号相反,则根值处于x1~x3之间*/ if(fx3==0) break; if(fx3>=0) fx4=fx3; else fx4=-fx3; }while(fx4>0.005);//printf("sqrtf() test 3 fx4=%d\n",(int)(1000*fx4)); y=x3; } } return(y); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -