相关疑难解决方法(0)

C - 使用pow函数查找负数的立方根

在现实世界中,应该存在负数的立方根: cuberoot(-1)=-1,这意味着(-1)*(-1)*(-1)=-1 或者 cuberoot(-27)=-3,这意味着(-3)*(-3)*(-3)=-27

但是当我使用pow函数计算C中负数的立方根时,我得到nan(不是数字)

double cuber;
cuber=pow((-27.),(1./3.));
printf("cuber=%f\n",cuber);
Run Code Online (Sandbox Code Playgroud)

输出: cuber=nan

有没有办法计算C中负数的立方根?

c math

12
推荐指数
2
解决办法
1万
查看次数

负数的立方根

我试图找到一个负数的立方根,但我得到一个NaN.有帮助吗?

System.out.println(Math.pow(-8, 1.0 / 3.0));
Run Code Online (Sandbox Code Playgroud)

java math

9
推荐指数
2
解决办法
3800
查看次数

C#Math.Pow()坏了

不,这(我的理解)不涉及整数除法或浮点舍入问题.

我的确切代码是:

    static void Main(string[] args)
    {
        double power = (double)1.0 / (double)7.0;
        double expBase = -128.0;
        System.Console.WriteLine("sanity check: expected: -128 ^ 0.142857142857143 = -2.    actual: " + expBase + " ^ " + power + " = " + Math.Pow(expBase, power));
        System.Console.ReadLine();
    }
Run Code Online (Sandbox Code Playgroud)

输出是:

sanity check: expected: -128 ^ 0.142857142857143 = -2. actual: -128 ^ 0.14285 7142857143 = NaN

此代码的目标框架是(根据解决方案属性).NET Framework 4.0 Client Profile.

奇怪的是,我在网上的任何地方都没有发现这一点.我在这里吃疯了吗??

.net math floating-point exponent pow

5
推荐指数
2
解决办法
6670
查看次数

当a是负数而b是非整数时,为什么Math.pow(a,b)是NaN?

我观察到以下Javascript行为:

> Math.pow(4, 2)
16
> Math.pow(4, 2.1)
18.37917367995256
> Math.pow(4, 0.5)
2
> Math.pow(-4, 2)
16
> Math.pow(-4, 2.1)
NaN
> Math.pow(-4, 0.5)
NaN
Run Code Online (Sandbox Code Playgroud)

为什么给出一个负数和一个非整数但有理数的数字会让人Math.pow回归NaN

例如,为什么Math.pow(4, 0.5)不是 NaN,但Math.pow(4, -0.5) 就是 NaN

javascript node.js

5
推荐指数
2
解决办法
5358
查看次数

标签 统计

math ×3

.net ×1

c ×1

exponent ×1

floating-point ×1

java ×1

javascript ×1

node.js ×1

pow ×1