我将 math.h 与 GCC 和 GSL 一起使用。我想知道如何对此进行评估?
我希望 pow 函数将 pow(-1,1.2) 识别为 ((-1)^6)^(1/5)。但事实并非如此。
有人知道可以识别这些的 C++ 库吗?也许有人可以分享他们的分解例程。
最佳答案
在数学上,pow(-1, 1.2)
根本没有定义。负数的小数指数没有幂,我希望没有库会简单地为这样的表达式返回一些任意值。你是否也期待这样的事情
pow(-1, 0.5) = ((-1)^2)^(1/4) = 1
这显然是不可取的。
此外, float 1.2
甚至不完全等于 6/5
。最接近 1.2
的 double 是
1.1999999999999999555910790149937383830547332763671875
鉴于此,对于 pow(-1, 1.2)
,您现在期望得到什么结果?
关于c++ - 需要 pow(-1,1.2) 为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325745/