We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
(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.
well doing so increases the looping hence it may cause time complexity issues (takes longer time ) hence to reduce that its easy to define another variable and assign it a value hence makes the process easy as looping tend to take much time to compile hence this shortens the time .
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Join us
Create a HackerRank account
Be part of a 26 million-strong community of developers
Please signup or login in order to view this challenge
Java Loops II
You are viewing a single comment's thread. Return to all comments →
I didn't need to call the Math.pow() function.
I used
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.
thankyou..
nice idea with the binary shift!
<< is the bitwise left shift operator.
1 << h takes the bits in 1 and shifts them with h positions to the left.
1 << 0 == 1 1 << 1 == 2 1 << 2 == 4
for(int i=0;i
Should be h<=x+1
best Answer Yet!
Why did you represent another variable result? Is it impossible if a is directly call in the for loop of shifting?
What does result do?
well doing so increases the looping hence it may cause time complexity issues (takes longer time ) hence to reduce that its easy to define another variable and assign it a value hence makes the process easy as looping tend to take much time to compile hence this shortens the time .