中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

powr

计算x的y次幂,其中x≥0。

接口定义

C interface:

float powrf(float x, float y);

double powr(double x, double y);

参数

参数名

类型

描述

输入/输出

x

  • 在powrf中,x是单精度浮点类型。
  • 在powr中,x是双精度浮点类型。

表示输入数据的浮点值。

输入

y

  • 在powrf中,y是单精度浮点类型。
  • 在powr中,y是双精度浮点类型。

表示输入数据的浮点值。

输入

返回值

  • x大于等于0且y为正常值,返回幂指数的结果,取值范围(0, +INF)。
  • x小于0,返回nan。
  • 其他特殊值组合如下所示。

    输入值(x)

    输入值(y)

    输出值(result)

    +0

    +0

    +1

    +0

    -0

    +1

    +0

    inf

    +0

    +0

    -inf

    inf

    +0

    snan

    nan

    +0

    -snan

    nan

    +0

    qnan

    nan

    +0

    -qnan

    nan

    -0

    +0

    +1

    -0

    -0

    +1

    -0

    inf

    +0

    -0

    -inf

    inf

    -0

    snan

    nan

    -0

    -snan

    nan

    -0

    qnan

    nan

    -0

    -qnan

    nan

    inf

    +0

    +1

    inf

    -0

    +1

    inf

    inf

    inf

    inf

    -inf

    +0

    inf

    snan

    nan

    inf

    -snan

    nan

    inf

    qnan

    nan

    inf

    -qnan

    nan

    -inf

    +0

    nan

    -inf

    -0

    nan

    -inf

    inf

    nan

    -inf

    -inf

    nan

    -inf

    snan

    nan

    -inf

    -snan

    nan

    -inf

    qnan

    nan

    -inf

    -qnan

    nan

    snan

    +0

    +1

    snan

    -0

    +1

    snan

    inf

    nan

    snan

    -inf

    nan

    snan

    snan

    nan

    snan

    -snan

    nan

    snan

    qnan

    nan

    snan

    -qnan

    nan

    -snan

    +0

    +1

    -snan

    -0

    +1

    -snan

    inf

    nan

    -snan

    -inf

    nan

    -snan

    snan

    nan

    -snan

    -snan

    nan

    -snan

    qnan

    nan

    -snan

    -qnan

    nan

    qnan

    +0

    +1

    qnan

    -0

    +1

    qnan

    inf

    nan

    qnan

    -inf

    nan

    qnan

    snan

    nan

    qnan

    -snan

    nan

    qnan

    qnan

    nan

    qnan

    -qnan

    nan

    -qnan

    +0

    +1

    -qnan

    -0

    +1

    -qnan

    inf

    nan

    -qnan

    -inf

    nan

    -qnan

    snan

    nan

    -qnan

    -snan

    nan

    -qnan

    qnan

    nan

    -qnan

    -qnan

    nan

依赖

C: "km.h"

示例

C interface:

    // typical usage
    double x1 = 0.0, x2 = -0.0, x3 = 1.5, x4 = -2.5;
    // special handing
    double a = INFINITY, b = -INFINITY, c = NAN;
    // print result
    printf("powr(0.0, -0.0) = %.15f\n", powr(x1, x2));
    printf("powr(-0.0, 0.0) = %.15f\n", powr(x2, x1));
    printf("powr(1.5, 1.5) = %.15f\n", powr(x3, x3));
    printf("powr(-2.5, 1.5) = %.15f\n", powr(x4, x3));
    printf("powr(INFINITY, 1.5) = %.15f\n", powr(a, x3));
    printf("powr(-INFINITY, 1.5) = %.15f\n", powr(b, x3));
    printf("powr(NAN, NAN) = %.15f\n", powr(c, c));
    return 0;

    /*
     * powr(0.0, -0.0) = 1.000000000000000
     * powr(-0.0, 0.0) = 1.000000000000000
     * powr(1.5, 1.5) = 1.837117307087384
     * powr(-2.5, 1.5) = nan
     * powr(INFINITY, 1.5) = inf
     * powr(-INFINITY, 1.5) = nan
     * powr(NAN, NAN) = nan
     */