发新帖我要提问
123
返回列表
打印
[其它产品/技术]

C语言中的sqrt函数,快速计算平方根的魔法秘诀

[复制链接]
楼主: OKAKAKO
手机看帖
扫描二维码
随时随地手机跟帖
41
lzmm| | 2024-10-5 14:20 | 只看该作者 回帖奖励 |倒序浏览
#include <stdio.h>
#include <math.h>

double sqrt_binary_search(double S) {
    if (S < 0) return NAN;
    if (S == 0) return 0;

    double low = 0, high = S, mid;
    double threshold = 1e-7;
   
    while (high - low > threshold) {
        mid = (low + high) / 2;
        if (mid * mid < S) {
            low = mid;
        } else {
            high = mid;
        }
    }

    return mid;
}

int main() {
    double number = 25;
    printf("The square root of %f is %f\n", number, sqrt_binary_search(number));
    return 0;
}

使用特权

评论回复
42
plsbackup| | 2024-10-5 15:55 | 只看该作者
在C语言中,sqrt函数是标准库函数,用于计算一个数的平方根。这个函数定义在math.h头文件中。

使用特权

评论回复
43
chenci2013| | 2024-10-5 17:34 | 只看该作者
软件层面的算法,如牛顿迭代法(Newton's method),也被用来计算平方根。牛顿迭代法是一种迭代算法,通过不断逼近的方式来找到平方根的精确值。

使用特权

评论回复
44
天天向善| | 2024-10-6 17:51 | 只看该作者
对于一般操作和计算,使用函数的计算仍然很快

使用特权

评论回复
45
理想阳| | 2024-10-7 08:28 | 只看该作者
我以为我实现了算法,结果发现我用的是c库。

使用特权

评论回复
46
wex1002| | 2024-10-9 12:07 | 只看该作者
计算这个函数的平方根一般需要多少时间?

使用特权

评论回复
47
AIsignel| | 2024-10-10 15:31 | 只看该作者
这个秘密似乎还不错。数学库对芯片要求高吗?

使用特权

评论回复
48
软核硬核| | 2024-10-13 13:40 | 只看该作者
估计,和直接,使用. math,和dsp,库中的算法,差别不大

使用特权

评论回复
49
digit0| | 2024-10-13 17:45 | 只看该作者
换句话说,如果51单片机可以运行这个math.h库呢?

使用特权

评论回复
50
nowboy| | 2024-10-15 13:03 | 只看该作者
这样会占用MCU上很多资源吗?

使用特权

评论回复
51
流星flash| | 2024-10-16 10:25 | 只看该作者
sqrt是函数背后的“神奇秘密”,它涉及复杂的数学算法和数值分析技术

使用特权

评论回复
52
IntelCore| | 2024-10-17 11:28 | 只看该作者
估计,直接用,数学,dsp,库中的算法差别不大,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则