Related Articles

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:



filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
  
}

chevron_right


Output:

Quotient: 16769767339735956015
Remainder: 7

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
  
}

chevron_right


Output:

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



My Personal Notes arrow_drop_up
Recommended Articles
Page :