Skip to main content

Add two numbers using bitwise operators in golang

Go program for Add two numbers using bitwise operators. Here problem description and explanation.

package main
import "fmt"
// Go program for
// Add two numbers using of bitwise operators

// Add two numbers
func addition(a, b int) {
	// Display given numbers
	fmt.Print("\n [(", a, ") + (", b, ")] ")
	// Auxiliary variable which are store the carry bit result
	var carry int = 0
	// Executing loop, until b value is not zero
	for (b != 0) {
		// Get carry bits of a & b
		carry = a & b
		// Sum of bits of a ^ b
		a = a ^ b
		// Shift the carry bit by one bit in left side
		b = carry << 1
	}
	// Display add result
	fmt.Print(" : ", a)
}
func main() {
	
	// Test Case
	addition(8, -2)
	addition(5, 3)
	addition(-3, -5)
}

Output

 [(8) + (-2)]  : 6
 [(5) + (3)]  : 8
 [(-3) + (-5)]  : -8




Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment