请教一个关于 pow() 的问题

[复制链接]
2575|2
 楼主| 原野之狼 发表于 2007-1-8 11:06 | 显示全部楼层 |阅读模式
使用 stc89c58 rd+,keil c编译仿真。
我需要做大量的数**算。
math.h里提供了:
extern float pow   (float x, float y);
但是这个函数在参与计算的过程中不怎么准,我认为是float类型引起的,因为这个计算我在PC机上用
double pow   (double x, double y)
做过,结果是非常准确的。

可是单片机里 math.h 没有double pow   (double x, double y)啊。。。
请问各位大侠,我该怎么办?
zjf0000 发表于 2007-1-9 10:05 | 显示全部楼层

看看我的怎么样?

我也遇到跟你一样的问题,自己写了一个,在我的系统上没错。
double MyPow(double x,double y)
{
    double tmp = 1;
    double i;
    for(i=0;i<y;i++)
    {
        tmp *= x;
    }
    return tmp;

}
跟PC上的接口相同。
 楼主| 原野之狼 发表于 2007-1-9 22:51 | 显示全部楼层

RE:

第二个参数必须是整数,否则就不对了。。。
其实我后来也是这样做的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

8546

帖子

279

粉丝
快速回复 在线客服 返回列表 返回顶部