The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

C Addition Without Using Plus Operator

addition without using plus operator

In my college days my programming friend makes a rigorous challenge with me. He asked me to sum two numbers without using addition operator, it's sounds poor right. Addition without using addition operator is it possible for you?

You being a programmer, Impossible is nothing more than having two cups of coffee instead of a coffee, lets code a C program to add two numbers without using an addition operator

C Program - To add two numbers without using + operator

c-without-addition-operator.c
#include <stdio.h>
int add(int, int);
int main()
{
int num1, num2;
printf("\nEnter any two integers : ");
scanf("%d%d", &num1, &num2);
printf("\nAddition of two numbers is : %d ", add(num1, num2));
return 0;
}
int add(int num1, int num2)
{
if (!num1)
return num2;
else
return add((num1 & num2) << 1, num1 ^ num2);
}
Enter any two integers : 4 2 
Addition of two numbers is : 6

Note:

The above program is crystal clear, we used function to add two numbers without using addition operator. We got two numbers from our user in a variable num1 and num2. Firstly, we check whether num1 is 0. If it's zero, just return a value in num2. If it's a non-zero number, then execute the statement following else.

Let us consider num1 = 4 and num2 = 2

Here goes the execution

else
return add ((4 & 2) << 1, num1 ^ num2);

The above statement will be: return add (0 << 1, 6 ) clearly either we do left shift or right shift for a number 0, it will we resulted in 0. ie) return add (add( 0, 6 ). Now, if condition is true and 6 is outputted.

Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report