# bits.Mul() Function in Golang with Examples

• Last Updated : 28 Apr, 2020

bits.Mul() Function in Golang is used to find the full-width product of x and y. The execution time of this function does not depend on the inputs. To access this function, one needs to imports the math/bits package in the program.

Syntax:

`func Mul(x, y uint) (hi, lo uint)`

Parameters: This function takes two parameter of uint type, i.e., x, y.

Note: (hi, lo) = x * y
Here, hi is the product bits’ upper half and, lo is the lower half returned.

Return Value: This function returns the full-width product of x and y.

Example 1:

 `// Golang program to illustrate``// bits.Mul() Function``package main`` ` `import (``    ``"fmt"``    ``"math/bits"``)`` ` `// Main function``func main() {`` ` `    ``// Using Mul() function``    ``hi, lo := bits.Mul(5, 10)``    ``fmt.Println(``"Full-width product of x and y : "``, hi, lo)`` ` `}`

Output:

`Full-width product of x and y :  0 50`

Example 2:

 `// Golang program to illustrate ``// bits.Mul() Function ``package main ``    ` `import ( ``    ``"fmt"``    ``"math/bits"``) ``    ` `// Main function ``func main() { ``    ` `    ``// Using Mul() function ``    ``const` `a, b = 34, 56``    ``hi, lo  := bits.Mul(a, b) ``    ``fmt.Println(``"Number 1:"``, a) ``    ``fmt.Println(``"Number 2:"``, b) ``    ``fmt.Println(``"Upper half:"``, hi) ``    ``fmt.Println(``"Lower half:"``, lo)  ``    ` `}`

Output:

```Number 1: 34
Number 2: 56
Upper half: 0
Lower half: 1904
```

My Personal Notes arrow_drop_up