# Go – How to get minimum number of bits required to represent a number in go

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```

`https://www.techieindoor.com/go-lang-tutorial/`
`https://golang.org/doc/https://golang.org/pkg/`