📜  Golang 中的 math.Pow()函数示例

📅  最后修改于: 2021-10-24 13:18:45             🧑  作者: Mango

Go 语言为基本常量和数学函数提供内置支持,以在 math 包的帮助下对数字执行运算。您可以在 math 包提供的Pow()函数的帮助下找到 b(a**b) 的基数指数。因此,您需要在 import 关键字的帮助下在程序中添加一个数学包来访问 Pow()函数。

句法:

func Pow(a, b float64) float64
  • 如果 Pow(a, ±0),则此方法将为任何 a 返回 1。
  • 如果 Pow(1, b),则此方法将为任何 b 返回 1。
  • 如果 Pow(a, 1),则此方法将为任何 a 返回 a。
  • 如果 Pow(NaN, b),则此方法将返回 NaN。
  • 如果是 Pow(a, NaN),则此方法将返回 NaN。
  • 如果 Pow(±0, b),那么这个方法将返回 ± Inf 对于 b 一个奇数 < 0。
  • 如果 Pow(±0, -Inf),则此方法将返回 +Inf。
  • 如果 Pow(±0, +Inf),则此方法将返回 +0。
  • 如果 Pow(±0, b),那么对于有限的 b < 0 而非奇数,此方法将返回 +Inf。
  • 如果 Pow(±0, b),那么这个方法将返回 ± 0 表示 b 一个奇数 > 0。
  • 如果 Pow(±0, b),那么对于有限的 b > 0,此方法将返回 +0 而不是奇数。
  • 如果 Pow(+1, ±Inf),则此方法将返回 1。
  • 如果 Pow(a, +Inf),那么此方法将为 |a| 返回 +Inf > 1.
  • 如果是 Pow(a, -Inf),则此方法将为 |a| 返回 +0 > 1。
  • 如果是 Pow(a, +Inf),那么此方法将为 |a| 返回 +0 < 1。
  • 如果 Pow(a, -Inf),那么此方法将为 |a| 返回 +Inf < 1。
  • 如果 Pow(+Inf, b),则此方法将在 b > 0 时返回 +Inf。
  • 如果 Pow(+Inf, b),则此方法将在 b < 0 时返回 +0。
  • 如果是 Pow(-Inf, b),那么这个方法将返回 Pow(-0, -b)。
  • 如果 Pow(a, b),那么对于有限 a < 0 和有限非整数 b,此方法将返回 NaN。

示例 1:

// Golang program to illustrate
// the use of math.Pow() function
  
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
  
    // Finding the base-a exponential of b
    // Using Pow() function
    res_1 := math.Pow(3, 5)
    res_2 := math.Pow(math.Inf(1), 3)
    res_3 := math.Pow(2, 0)
    res_4 := math.Pow(1, math.NaN())
    res_5 := math.Pow(-0, math.Inf(-1))
  
    // Displaying the result
    fmt.Printf("Result 1: %.1f", res_1)
    fmt.Printf("\nResult 2: %.1f", res_2)
    fmt.Printf("\nResult 3: %.1f", res_3)
    fmt.Printf("\nResult 4: %.1f", res_4)
    fmt.Printf("\nResult 5: %.1f", res_5)
}

输出:

Result 1: 243.0
Result 2: +Inf
Result 3: 1.0
Result 4: 1.0
Result 5: +Inf

示例 2:

// Golang program to illustrate
// the use of math.Pow() function
  
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
   
    // Finding the base-a exponential of b
    // Using Pow() function
    nvalue_1 := math.Pow(3, 4)
    nvalue_2 := math.Pow(5, 6)
  
    // Sum of the given numbers
    res := nvalue_1 + nvalue_2
    fmt.Printf("%.3f + %.3f = %.3f",
            nvalue_1, nvalue_2, res)
  
}

输出:

81.000 + 15625.000 = 15706.000