Here, We will learn about **how to get minimum number of bits required to represent a number in go.** **Len()** function of bits package is used most frequently.

There are multiple functions to get bits require to represent a number.

- Len()
- Len16()
- Len32()
- Len64()
- Len8()

**Function proto type:**

```
func Len(x uint) int
func Len16(x uint16) int
func Len32(x uint32) int
func Len64(x uint64) int
func Len8(x uint8) int
Input parameters:
x: number
```

**Code example:**

```
package main
import (
"fmt"
"math/bits"
)
func main() {
no := uint(16)
x := bits.Len(no)
fmt.Println("minimum number of bits required to represent number: ", x)
no16 := uint16(32)
x16 := bits.Len16(no16)
fmt.Println("minimum number of bits required to represent number: ", x16)
no32 := uint32(64)
x32 := bits.Len32(no32)
fmt.Println("minimum number of bits required to represent number: ", x32)
no64 := uint64(128)
x64 := bits.Len64(no64)
fmt.Println("minimum number of bits required to represent number: ", x64)
no8 := uint8(16)
x8 := bits.Len8(no8)
fmt.Println("minimum number of bits required to represent number: ", x8)
}
```

**Output:**

$ go run sample.go minimum number of bits required to represent number: 5 ==>> number = 16, in bits: 10000 i.e 5 bits minimum number of bits required to represent number: 6 ==>> number = 32, in bits: 100000 i.e 6 bits minimum number of bits required to represent number: 7 ==>> number = 64, in bits: 1000000 i.e 7 bits minimum number of bits required to represent number: 8 ==>> number = 128, in bits: 10000000 i.e 8 bits minimum number of bits required to represent number: 5 ==>> number = 16, in bits: 10000 i.e 5 bits

**To learn more about golang, Please refer given below link:**

https://www.techieindoor.com/go-lang-tutorial/

**References:**

https://golang.org/doc/

https://golang.org/pkg/