Related Articles
bits.Div64() Function in Golang with Examples
• Last Updated : 19 Apr, 2020

Go language provides inbuilt support for bits to implement bit counting and manipulation functions for the predeclared unsigned integer types with the help of bits package. This package provides Div64() function which is used to find the quotient and remainder of (a, b) divided by c, i.e., q = (a, b)/c, r = (a, b)%c with the dividend bits’ upper half in parameter a and the lower half in parameter b. This function panics if c == 0 (division by zero) or c <= a (quotient overflow). To access Div64() function you need to add a math/bits package in your program with the help of the import keyword.

Syntax:

`func Div64(a, b, c uint64) (q, r uint64)`

Parameters: This function takes three parameters of uint64 type, i.e., a, b, and c.

Return Value: This function return two values of uint64 type, i.e., q and r. Here q is known as quotient and r is known as the remainder.

Example 1:

 `// Golang program to illustrate bits.Div64() Function ` `package main ` ` `  `import ( ` `    ``"fmt"` `    ``"math/bits"` `) ` ` `  `// Main function ` `func main() { ` ` `  `    ``// Finding quotient and remainder ` `    ``// Using Div64() function ` `    ``q, r := bits.Div64(10, 12, 11) ` `    ``fmt.Println(``"Quotient:"``, q) ` `    ``fmt.Println(``"Remainder:"``, r) ` ` `  `} `

Output:

```Quotient: 16769767339735956015
Remainder: 7
```

Example 2:

 `// Golang program to illustrate bits.Div64() Function ` `package main ` ` `  `import ( ` `    ``"fmt"` `    ``"math/bits"` `) ` ` `  `// Main function ` `func main() { ` ` `  `    ``// Finding quotient and remainder ` `    ``// Using Div64() function ` `    ``var a, b, c uint64 = 3, 10, 5 ` `    ``q, r := bits.Div64(a, b, c) ` `    ``fmt.Println(``"Number 1:"``, a) ` `    ``fmt.Println(``"Number 2:"``, b) ` `    ``fmt.Println(``"Number 3:"``, c) ` `    ``fmt.Println(``"Quotient:"``, q) ` `    ``fmt.Println(``"Remainder:"``, r) ` ` `  `} `

Output:

```Number 1: 3
Number 2: 10
Number 3: 5
Quotient: 11068046444225730971
Remainder: 3
```

My Personal Notes arrow_drop_up
Recommended Articles
Page :