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
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