There are two integer variables. Can you swap those integer variables without using any if conditions, without casting, and without using additional variables? For example:
int a = 10;
int b = 5;
a > b
always. The answer should be a == 5
and b == 10
If you think you are being clever by not using 3rd variable then do some performance tests and you see that the much faster way is to use 3rd int
to store the variable temporarily.
Anyways, i solved the problem with XOR bitwise operator:
a ^= b;
b ^= a;
a ^= b;
It's a little trick.
int a = 5;
int b= 10;
a = a+b;
b = a-b; /* Really (a+b) - b i.e. a */
a = a-b; /* Really (a+b) - a i.e. b */
yes you can do it By using plus/minus operation.
Example:
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;