问题标签 [sqrt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5131 浏览

math - 定点的逆 sqrt

我正在寻找固定点 16.16 数字的最佳平方根逆算法。下面的代码是我到目前为止所拥有的(但基本上它取平方根并除以原始数字,我想得到没有除法的平方根倒数)。如果它改变了任何东西,代码将为 armv5te 编译。

0 投票
1 回答
76 浏览

android - 接近二维位置

我开始研究一个概念,该概念要求我找到一种方法以给定速度将矩形移向给定点。我正在为 Android 开发,所以这对速度来说是比较关键的(对于可能数百个对象,每帧都会计算它。)

我能想到的解决方案如下:

如您所见,这种方式需要一个平方根,我知道这非常昂贵。我想到了一个替代方案,它使用三角函数,但它也很昂贵。

还有其他方法吗?如果没有,我的哪个解决方案会更快?谢谢你的帮助。

0 投票
2 回答
2301 浏览

java - 需要一种提供“余数”的平方根算法

我正在编写一个不使用小数的计算器(仅支持有理数),但我希望能够做一个平方根版本。

当为(比如说)数字 12 按下平方根函数时,我只想简化/“减少”平方根并返回 2*sqrt(3)--将其转换为 (2*2) * 3 和将 sqrt(2*2) 提取为 2。

我正在使用 biginteger,它有一个非常好的 gcd() 方法和一个仅限于正参数的 pow() 方法(这是有道理的,除非你试图完全按照我想做的事情去做。

我可以想出一些迭代方法来做到这一点,但它们可能需要一段时间才能处理数百位数范围内的数字。

我希望有一些我没有接触过的可爱、简单、非迭代的技巧。

澄清一下:我打算添加虚数,所以我计划这样的结果:

没有长长的小数流。

0 投票
3 回答
48726 浏览

haskell - 从 Haskell 中的 Int 获取 sqrt

我怎样才能sqrtInt.

我这样尝试:

但是类型兼容性会出错。

0 投票
1 回答
470 浏览

c++ - 从向量c ++中获取方阵的行数和列数

我有一个大小为 4 的向量:

所以我有 [3 10.1 33.1 23.3];

如果我知道我有一个方阵(即大小只能是 4、9、16、25、36、49...)

我如何知道与 C++ 中的列数相同的行数?

所以我在做

还有其他更快的方法吗??

0 投票
3 回答
10388 浏览

c++ - c++ 实际计算复杂度平方根()

CPU周期(或者,本质上,“速度”)之间的差异是什么?

编辑:我知道操作是不等价的,我只是随意提出x /= y作为基准x = sqrt(y)

0 投票
2 回答
7220 浏览

haskell - 我不明白 Haskell 中的数字转换

这是我正在尝试做的事情:

(我知道我不是在检查除以二——请忽略它。)这是我得到的:

我已经花了好几个小时尝试我能想到的所有方法来使用 sqrt 的一些变体来制作这个列表,包括像这样的废话

似乎 (sqrt 500) 工作正常,但 (sqrt x) 坚持 x 是一个浮点数(为什么?),并且我找不到将 Int 转换为实数(为什么?)的函数。

我不想要一种测试素数的方法,我想了解如何解决这个问题。为什么这么难?

0 投票
4 回答
13329 浏览

c++ - 负平方根

如何在 C++ 中取负数的平方根?
我知道它应该返回一个真实而复杂的部分,我得到一个 NaN?
我如何采取真正的部分?

0 投票
6 回答
5311 浏览

c++ - 仅使用库中的某些功能?

我只想使用 math.h 中的某些函数(不包括整个库)

例如,我需要使用“sqrt”和“exp”,但我有名为“y1”(可能还有其他)的变量与 math.h 中的定义冲突

我怎样才能只使用像这样的库中的某些功能?

我试过

但这没有用,我以前见过类似的东西

我想,所以我认为它可能会起作用。

有任何想法吗?

0 投票
4 回答
7378 浏览

c# - C#高精度计算

考虑这段代码:

对于结果,我得到 2178548422 而不是 2178548421.999999854etc ......我怎样才能得到更精确的结果?