要求用一种技巧性的编程方法来用一个函数实现两个函数的功能- -| 回首页 | 2005年索引 | - -exit(0)和exit(1)有什么区别?在什么时候用?

一个double型数据的乘方、开方算法- -

                                      

要求不用c运行库的数学库函数,不要使用关于浮点运算的汇编语言直接计算结果。

这里先说一说double型数据的结构,从高到低,第一位是符号位,跟着的11位为指数部
分,是2的幂次,剩下的52位是小数部分。
N开平方(二分法):
//sovle the sqrt of N;(0,N),x^2-N=0;y=x^2-N;
#include<stdio.h>
#define N 8
#define M 0.000001
double f(double );
main ()
{
  double a,b,m;
  a=0;
  b=N;
  m=(a+b)/2;
  while ((b-a)/2>=M) {
    if (f(a)*f(m)<=0) {
      b=m;
      m=(a+b)/2;
    }
    else  {
      a=m;
      m=(a+b)/2;
    }
  }
    printf("The result is %.30f\n",m);
}
double f(double t)
{
  return t*t-N;
}

- 作者: 刘加开 2005年03月20日, 星期日 14:54 加入博采

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=978842

回复

评论内容: