📜  在 Golang 中找到给定数的二元对数

📅  最后修改于: 2021-10-24 14:04:26             🧑  作者: Mango

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

句法:

func Log2(a float64) float64
  • 如果在此函数传递 +Inf,则此函数将返回 +Inf。
  • 如果在此函数传递 0,则此函数将返回 -Inf。
  • 如果 a<0 的值,则此函数将返回 NaN。
  • 如果在此函数传递 NaN,则此函数将返回 NaN。

示例 1:

// Golang program to illustrate how to find the
// binary logarithm of the given number
  
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
  
    // Finding binary logarithm
    // of the given number
    // Using Log2() function
    res_1 := math.Log2(0)
    res_2 := math.Log2(1)
    res_3 := math.Log2(math.Inf(1))
    res_4 := math.Log2(math.NaN())
    res_5 := math.Log2(36)
  
    // 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: -Inf
Result 2: 0.0
Result 3: +Inf
Result 4: NaN
Result 5: 5.2

示例 2:

// Golang program to illustrate how to find the
// binary logarithm of the given number
  
package main
  
import (
    "fmt"
    "math"
)
  
// Main function
func main() {
  
    // Finding binary logarithm
    // of the given number
    // Using Log2() function
    nvalue_1 := math.Log2(100)
    nvalue_2 := math.Log2(26)
    res := nvalue_1 + nvalue_2
    fmt.Printf("%.5f + %.5f = %.5f",
            nvalue_1, nvalue_2, res)
  
}

输出:

6.64386 + 4.70044 = 11.34430