# math.Ilogb() Function in Golang With Examples

Last Updated : 13 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 can find the binary exponent of the specified number as an integer with the help of ILogb() 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 ILogb() function.

Syntax:

`func Ilogb(a float64) int`
• If Ilogb(Â±Inf), then this function will return MaxInt32.
• If Ilogb(0), then this function will return MinInt32.
• If Ilogb(NaN), then this function will return MaxInt32.

Example 1:

 `// Golang program to illustrate ` `// the math.Ilogb() function ` `package main ` ` `  `import ( ` `    ``"fmt"` `    ``"math"` `) ` ` `  `// Main function ` `func main() { ` ` `  `    ``// Finding binary exponent of  ` `    ``// the given number as an integer ` `    ``// Using Ilogb() function ` `    ``res_1 := math.Ilogb(math.Inf(-1)) ` `    ``res_2 := math.Ilogb(math.Inf(1)) ` `    ``res_3 := math.Ilogb(0) ` `    ``res_4 := math.Ilogb(1) ` `    ``res_5 := math.Ilogb(math.NaN()) ` ` `  `    ``// Displaying the result ` `    ``fmt.Printf(``"\nResult 1: %d"``, res_1) ` `    ``fmt.Printf(``"\nResult 2: %d"``, res_2) ` `    ``fmt.Printf(``"\nResult 3: %d"``, res_3) ` `    ``fmt.Printf(``"\nResult 4: %d"``, res_4) ` `    ``fmt.Printf(``"\nResult 5: %d"``, res_5) ` `} `

Output:

```Result 1: 2147483647
Result 2: 2147483647
Result 3: -2147483648
Result 4: 0
Result 5: 2147483647
```

Example 2:

 `// Golang program to illustrate ` `// the math.Ilogb() function ` `package main ` ` `  `import ( ` `    ``"fmt"` `    ``"math"` `) ` ` `  `// Main function ` `func main() { ` ` `  `    ``// Finding binary exponent of  ` `    ``// the given number as an integer ` `    ``// Using Ilogb() function ` `    ``nvalue_1 := math.Ilogb(math.Inf(-1)) ` `    ``nvalue_2 := math.Ilogb(math.Inf(1)) ` ` `  `    ``// Sum of the given numbers ` `    ``res := nvalue_1 + nvalue_2 ` `    ``fmt.Printf(``"%d + %d = %d"``,  ` `       ``nvalue_1, nvalue_2, res) ` ` `  `} `

Output:

`2147483647 + 2147483647 = -2`

Previous
Next