# Kotlin 程序：计算数字的幂

> 原文： [https://www.programiz.com/kotlin-programming/examples/power-number](https://www.programiz.com/kotlin-programming/examples/power-number)

#### 在此程序中，您将学习使用和不使用`pow()`函数来计算数字的幂。

## 示例 1：不使用`pow()`计算数字的幂

```kt
fun main(args: Array<String>) {
    val base = 3
    var exponent = 4
    var result: Long = 1

    while (exponent != 0) {
        result *= base.toLong()
        --exponent
    }

    println("Answer = $result")
}
```

运行该程序时，输出为：

```kt
Answer = 81
```

在此程序中，`base`和`exponent`分别分配了值 3 和 4。

使用`while`循环，我们继续将`result`与`base`相乘，直到`exponent`变为零。

在这种情况下，我们将`result`乘以基数总共四次，因此`result = 1 * 3 * 3 * 3 * 3 = 81` 。我们还需要强制转换`base`到`Long`，因为`result`仅接受`Long`，而 Kotlin 专注于类型安全。

但是，与 Java 中一样，如果指数为负，则以上代码将不起作用。 为此，您需要在 Kotlin 中使用`pow()`函数

以下是等效的 Java 代码：[计算数字幂的 Java 程序](/java-programming/examples/power-number "Java Program to calculate power of a number")

* * *

## 示例 2：使用`pow()`计算数字的幂

```kt
fun main(args: Array<String>) {
    val base = 3
    val exponent = -4
    val result = Math.pow(base.toDouble(), exponent.toDouble())

    println("Answer = $result")
}
```

运行该程序时，输出为：

```kt
Answer = 0.012345679012345678
```

在此程序中，我们使用标准库函数`Math.pow()`来计算基数的幂。

我们还需要将`base`和`exponent`转换​​为`Double`，因为`pow`仅接受`Double`参数。