问题标签 [pow]
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.
c++ - 为什么在 C++ 中 pow(10,5) = 9,999
最近我写了一段代码:
结果是错误的:
如果我只使用这段代码:
问题不再出现:
有人给我解释吗?非常感谢你!
c# - C# Math.pow(x, 0.333)
我有这个代码。当我试图找到 Math.Pow((x-2), 0.333) - 我有 NaN。如何解决?为什么是 NaN?
重写...
java - Java Math.pow 的错误结果
如果您尝试运行以下代码
你会得到“51185893014090752 8”
13^15的正确值为51185893014090757,即大于5Math.pow
返回的结果。关于可能导致它的任何想法?
c - 从共享库切换到 dll,现在出现找不到 pow() 的错误
这是错误:
库中的其他所有内容都可以正常工作,即使是使用 math.h 的函数,但是当我调用需要 pow() 的函数时,它会崩溃。当它是一个共享库时,它工作得非常好。我正在使用 gcc 和 makefile 进行编译。我对 makefile 所做的唯一更改是为库添加 -ldl。我还有 -lm 在里面。我更改了驱动程序以支持更改为 dll 而不是共享库,但导致错误的函数没有更改。
我需要更改的makefile还有更多内容吗?这是生成文件:
c++ - C++:奇怪的元函数调用
我的 C++ 代码中有一个奇怪的元函数行为,我想了解原因。
我预计这条线metaPow<5>(f(x, y))
相当于f(x, y)*f(x, y)*f(x, y)*f(x, y)*f(x, y)*1.
. 但如果是,它会在函数中打印五次“ Marker
”行。f
奇怪的是,我最后得到了很好的结果(例如181.019
forx = 2
和y = 4
),但我只Marker
显示了 1 个 " " 。这怎么可能 ?因此,使用该函数而不是标准 pow() 进行编译时优化是一个不错的选择吗?
非常感谢你 !
php - 计算浮点幂 (PHP/BCMath)
我正在为bcmath
扩展编写一个包装器,而关于错误 #10116的问题bcpow()
特别烦人——它将$right_operand
( $exp
) 转换为(原生 PHP,不是任意长度)整数,因此当您尝试计算平方根(或任何其他root 高于1
) 的一个数字,1
而不是正确的结果。
我开始寻找可以让我计算数字的第 n 根的算法,我发现这个答案看起来很可靠,我实际上使用 WolframAlpha扩展了公式,我能够在保持准确性的同时将速度提高约 5%的结果。
这是一个模仿我的 BCMath 实现及其局限性的纯 PHP 实现:
上面的方法似乎很好用, 除非1 / fmod($exp, 1)
没有产生 integer。例如,如果$exp
is 0.123456
,它的倒数将会是并且8.10005
和 的结果会有点不同(demo):pow()
_pow()
pow(2, 0.123456)
=1.0893412745953
_pow(2, 0.123456)
=1.0905077326653
_pow(2, 1 / 8)
=_pow(2, 0.125)
=1.0905077326653
如何使用“手动”指数计算达到相同的精度水平?
c - C中的pow函数
我编写了一个具有来自 math.h 库的幂函数的 C 代码。当我编译我的程序时,我收到一个错误,即“未定义对‘pow’函数的引用”,我使用 gcc 编译器(fedora 9)编译我的程序。
然后我将 -lm 标志插入 gcc,错误被省略,但 pow 函数的输出为 0。
谁能帮我?我的编译器有问题吗?
谢谢。
c# - 嵌套的 Math.Pow(...) 行为怪异
目前我正在将一些旧的 C++ 代码重写为 C#。运行一些测试时,它没有按应有的方式工作,我开始调试,遇到了下面我似乎无法弄清楚的问题。
由于我在课堂上做了大量数学运算并经常使用 Math.Pow 函数,因此我为它创建了一个快捷方法:
然后我有一个代码行如下,它使用这种方法很多次:
这条线没有给出预期的结果,所以我开始把它分成更小的部分,因为它应该被计算出来......例如,减号之前的值应该等于 q5:
在这些行之后 q5 是 8775553070736.0
然后我尝试将长线分成两部分,其中第一部分应该等于上面的5行,就写成一行:
我希望评估的结果与 q5 相同,但事实并非如此。q12 改为 4479508755225.0
代码有什么问题?
c++ - 'pow' 未在此范围内声明
这是我收到的错误:
谁能解释为什么会发生这个错误?
c# - Math.Pow 采用整数值
来自http://msdn.microsoft.com/en-us/library/system.math.pow.aspx
Math.Pow 将双精度数作为参数,但这里我们传递的是整数。
问题:如果隐式转换为 double 发生,是否存在浮点舍入错误的危险?
如果是,最好使用类似的东西: