C++比较实用的几个函数

嗨,几个月没发文章的,因为学业紧张嘛。今天刚好赶一下稿。

最近写了一个算法库,主要功能是把Visual Studio上的某些厉害的算法函数移植到keil上。比如sqrt啊,abs啊之类的。今天,我就介绍几个我的函数(等库写好了当资源或等我有钱了创个GYUIT.CN放进去)

1,Sqrt

函数原型是这样的:

 double Sqrt(
double x
)

可见,它有一个形参x,这个函数的目的是求出x的开根号,比如这样:

int main(void)
{
        std::cout<< Sqrt(16);
        return 0;
}

输出:

4

这是它的函数体:

double Sqrt(double x) {
    double guess = x;
    double eps = 2.2204460492503131e-16;
    while (abst(guess * guess - x) > eps * x) {
        guess = (guess + x / guess) / 2;
    }
    return guess;
}

别直接放到编译器上运行啊!它会报错,因为abst也是我的函数。

来看一下abst函数原型:

double abst(
double x
)

再来看看它的函数体:

 double abst(double x) {
     if (x < 0.0) {
         return -x;
     }
     else {
         return x;
     }
 }

这个其实已经不用讲了,将负数转换成它的正数。负负得正。

本来还想讲一下我的SIN呢,但是不知道为什么,在keil上无法编译,所以我就不讲出来丢人了。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值