【发布时间】:2017-01-11 03:50:05
【问题描述】:
如果我知道x<=1,如何近似sqrt(float32bit x)?
必须有一些技巧来利用x<=1 范围。
返回结果不必精确,最大误差可能是<0.001。
(0.001 只是一个神奇的数字,你可以改变它。)
我不介意语言,但我更喜欢 C++,在 CPU(不是 GPU)中。
我认为显式公式比查表更好。
它对我的 3D 游戏(VS 2015 + Ogre3D + Bullet)中的粒子很有用,但我找不到任何关于它的线索。
我怀疑投票风暴的原因是它看起来像一个作业/面试?
...或者解决方案已经众所周知?
【问题讨论】:
-
@Mark Ransom 是否依赖于平台?
-
@javaLover 这个技巧没有高效的、符合标准的实现,但它相当可移植。
标签: c++ algorithm square-root