Open In App

bits.Sub32() Function in Golang with Examples

Last Updated : 12 Jan, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

The bits.Sub32() Function in Golang is used to find the difference of a, b and borrow, i.e. diff = a – b – borrow. Here the borrow must be 0 or 1; otherwise, the behavior is undefined. To access this function, one needs to imports the math/bits package in the program. The return value of the borrowOutput will be always 0 or 1 in any case.
Syntax: 
 

func Sub32(a, b, borrow uint32) (diff, borrowOut uint32)

Parameters: This function takes three parameters of uint32 type, i.e., a, b, and borrow. The value of borrow parameter is either 1 or 0.
Return Value: This function return two values of uint32 type, i.e., diff and borrowOut. Here diff contains the result of a – b – borrow and borrowOut is either 1 or 0.
Example 1:
 

C




// Golang program to illustrate bits.Sub32() Function
package main
 
import (
    "fmt"
    "math/bits"
)
 
// Main function
func main() {
 
    // Finding diff and borrowOut
    // of the specified numbers
    // Using Sub32() function
    nvalue_1, borrowOut := bits.Sub32(13, 8, 1)
    fmt.Println("Diff:", nvalue_1)
    fmt.Println("BorrowOut :", borrowOut)
 
}


Output: 
 

Diff: 4
BorrowOut : 0

Example 2: Here, you can see that the result is not as expected as we have taken the value of borrow as 3. So if we are taking borrow input other than 1 and 0 then the behavior will be undefined.
 

C




// Golang program to illustrate bits.Sub32() Function
package main
 
import (
    "fmt"
    "math/bits"
)
 
// Main function
func main() {
 
    // Finding diff and borrowOut
    // of the specified numbers
    // Using Sub32() function
 
    var a, b, borrow uint32 = 4, 15, 3
    Diff, borrowOut := bits.Sub32(a, b, borrow)
    fmt.Println("Number 1:", a)
    fmt.Println("Number 2:", b)
    fmt.Println("Borrow :", borrow)
    fmt.Println("Diff:", Diff)
    fmt.Println("BorrowOut :", borrowOut)
 
}


Output:
 

Number 1: 4
Number 2: 15
Borrow : 3
Diff: 4294967282
BorrowOut : 1

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads