Add two integer numbers using bit-wise operators in C

We can write solution for this problem in two way i.e.

  1. Using recursive method
  2. Using loop i.e. non-recursive method.

Here is the C program to perform sum of two numbers with the help of bit-wise operator using recursive method.

/* Recursive method : Sum of two numbers using bitwise operators */
#include<stdio.h>
int sum ( int numFirst, int numSecond )
{
if ( numSecond == 0 )
return numFirst;
/* Recursive call of sum ( )*/
return sum ( numFirst ^ numSecond, ( numFirst & numSecond ) << 1 );
}
int main ()
{
int result = 0;
int numOne = 10;
int numTwo = 25;
result = sum ( numOne, numTwo );
printf ("The Sum of %d and %d is %d \n", numOne, numTwo, result);
return 0;
}

Here is the C program to perform sum of two numbers with the help of bit-wise operator using loop or non-recursive method.

/* Non-Recursive method : Sum of two numbers using bitwise operators */
#include<stdio.h>
int sum ( int numFirst, int numSecond )
{
while ( numSecond != 0 )
{
int carry = numFirst & numSecond;
numFirst = numFirst ^ numSecond;
numSecond = carry << 1;
}
return numFirst;
}
int main ()
{
int result = 0;
int numOne = 10;
int numTwo = 25;
result = sum ( numOne, numTwo );
printf ( "The Sum of %d and %d is %d \n", numOne, numTwo, result );
return 0;
}

To contribute :

” If you like Advance Computing and would like to contribute, you can  mail your article to “computingadvance@gmail.com”. You will get credit as your name , email id, designation with article on this blog. “

Leave a Reply