# Finding Binary Logarithm of Given Number in Golang

• Last Updated : 01 Apr, 2020

Go language provides inbuilt support for basic constants and mathematical functions to perform operations on the numbers with the help of the math package. You are allowed to find the binary logarithm of the specified number with the help of Log2() function provided by the math package. So, you need to add a math package in your program with the help of the import keyword to access the Log2() function.

Syntax:

`func Log2(a float64) float64`
• If you pass +Inf in this function, then this function will return +Inf.
• If you pass 0 in this function, then this function will return -Inf.
• If the value of a<0, then this function will return NaN.
• If you pass NaN in this function, then this function will return NaN.

Example 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)`` ` `}`

Output:

```Result 1: -Inf
Result 2: 0.0
Result 3: +Inf
Result 4: NaN
Result 5: 5.2
```

Example 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)`` ` `}`

Output:

`6.64386 + 4.70044 = 11.34430`

My Personal Notes arrow_drop_up