Skip to main content

Addition of two numbers using bitwise operators in c

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

// Include header file
#include <stdio.h>

#include <stdlib.h>

// C program for
// Add two numbers using of bitwise operators

// Add two numbers
void addition(int a, int b)
{
	// Display given numbers
	printf("\n [(%d) + (%d)] ", a, b);
	// Auxiliary variable which are store the carry bit result
	int carry = 0;
	// Executing loop, until b value is not zero
	while (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
	printf(" : %d", a);
}
int 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