The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
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
#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
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.
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.
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019