发新帖我要提问
12
返回列表
打印
[N32G45x]

sqrt的快速算法

[复制链接]
楼主: beacherblack
手机看帖
扫描二维码
随时随地手机跟帖
21
tifmill| | 2025-2-5 21:05 | 只看该作者 回帖奖励 |倒序浏览
快速平方根倒数算法              

使用特权

评论回复
22
louliana| | 2025-2-5 21:59 | 只看该作者
通过位运算和移位操作来加速计算。这种方法不需要浮点运算,适用于资源受限的环境,如单片机

使用特权

评论回复
23
primojones| | 2025-2-5 22:53 | 只看该作者
牛顿迭代法是一种在实数域和复数域上近似求解方程的方法。

使用特权

评论回复
24
mickit| | 2025-2-6 12:11 | 只看该作者
牛顿迭代法的收敛速度很快,通常在几次迭代后就能得到比较精确的结果

使用特权

评论回复
25
maudlu| | 2025-2-6 12:57 | 只看该作者

计算平方根的快速算法有很多              

使用特权

评论回复
26
linfelix| | 2025-2-6 18:58 | 只看该作者
连分数展开法、数值逼近法等。              

使用特权

评论回复
27
plsbackup| | 2025-2-6 19:56 | 只看该作者
算法的核心思想是通过牛顿迭代法来逼近平方根的值。

使用特权

评论回复
28
51xlf| | 2025-2-13 16:53 | 只看该作者
查询速度快,适用于对固定范围内的数值频繁进行平方根计算的情况,能够大大减少计算时间。

使用特权

评论回复
29
robincotton| | 2025-2-13 18:35 | 只看该作者
牛顿迭代法:这是一种常用的数值方法,通过迭代逼近平方根。

使用特权

评论回复
30
biechedan| | 2025-2-13 20:18 | 只看该作者
import struct

def fast_inverse_sqrt(x):
    i = struct.unpack('<I', struct.pack('<f', x))[0]
    i = 0x5f3759df - (i >> 1)
    y = struct.unpack('<f', struct.pack('<I', i))[0]
    # 牛顿迭代一次提高精度
    y = y * (1.5 - 0.5 * x * y * y)
    return y

def fast_sqrt_quake(x):
    return x * fast_inverse_sqrt(x)

# 测试
num = 9
result = fast_sqrt_quake(num)
print(f"Quake III算法计算的平方根: {result}")

使用特权

评论回复
31
eefas| | 2025-2-14 09:08 | 只看该作者
float InvSqrt(float x)
{
    float xhalf = 0.5f * x;
    int i = *(int*)&x;
    i = 0x5f3759df - (i >> 1); // 计算第一个近似根
    x = *(float*)&i;
    x = x * (1.5f - xhalf * x * x); // 牛顿迭代法
    return x;
}

使用特权

评论回复
32
eefas| | 2025-2-14 11:04 | 只看该作者
标准的 sqrt 函数虽然精度高,但计算速度相对较慢

使用特权

评论回复
33
weifeng90| | 2025-2-18 23:06 | 只看该作者
可以转换成整数计算

使用特权

评论回复
34
物联万物互联| | 2025-2-27 11:43 | 只看该作者
sqrt法就是用一个不断逼近的方式来找到方程的近似解,就是逐步调整数值,越来越接近真实答案。

使用特权

评论回复
35
地瓜patch| | 2025-2-27 12:10 | 只看该作者
二分法的开方计算方法

使用特权

评论回复
36
芯路例程| | 2025-3-3 13:38 | 只看该作者
平方根快速算法包括二分法、牛顿迭代法等,可大幅提高计算效率

使用特权

评论回复
37
未来AI| | 2025-3-5 07:58 | 只看该作者
二分法开方计算:先猜测一个数值范围,再逐渐缩小范围,逼近真实值

使用特权

评论回复
38
digit0| | 2025-3-8 09:09 | 只看该作者
sqrt的快速算法:使用二分查找法逼近真实值,初始设定区间中点为近似值,逐渐缩小范围至误差范围内得到最终结果。

使用特权

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

本版积分规则