You are viewing a single comment's thread. Return to all comments →
what does this line(result += (1<< h) * b) do?
what is the role of << operator?
a += b; is the same as a = a + b;
(1<<h) Starts with 2 to the zeroth power, a binary 1, Shifts the number to the left by h binary bits, e.g 00000001 in binary left shift 1 becomes 00000010, left shift 2 becomes 00000100.
Left-shifting a binary number by 1 bit position multiplies that number by 2. Left-shifting by 2 multiplies by 2^2. Left-shifting by 3 multiplies by 2^3, etc.
nice idea with the binary shift!