Let's say I have some 32 bit integer:
000001010100010000100010001001 1 0
(The penultimate bit is bold/italic)
So if I shift it by 2 to the right I get:
00000001010100010000100010001001
Now the penultimate bit is lost. I thought of storing the original value and then using || (logical OR), but that would only work if the penultimate bit is set to 1. What if it's 0?