Add without addition (or any of the 4 basic arithmetic operators)
Javascript (25)
while(y)x^=y,y=(y&x^y)<<1
This adds two variables x and y, using only bitwise operations, and stores the result in x.
This works with negative numbers, too.
C - 38 bytes
main(){return printf("%*c%*c",3,0,4);}
I do cheat a bit here, the OP said to not use any math operators.
The *
in the printf()
format means that the field width used to print the character is taken from an argument of printf()
, in this case, 3 and 4. The return value of printf()
is the number of characters printed. So it's printing one ' '
with a field-width of 3, and one with a field-width of 4, makes 3 + 4 characters in total.
The return value is the added numbers in the printf()
call.
Python - 49 bytes
Assuming input by placement in variables x
and y
.
from math import*
print log(log((e**e**x)**e**y))
This 61 byte solution is a full program:
from math import*
print log(log((e**e**input())**e**input()))
Considering that you did not ban exponentiation, I had to post this. When you simplify the expression using properties of logarithms, you simply get print input() + input()
.
This supports both negative and floating point numbers.
Note: I followed gnibbler's advice and split this answer into three. This is the Mathematica solution, and this is the TI-89 Basic solution.