Something that might be useful to you:
The << object allows you to double things. More specifically it multiplies by 2 to the power of its attribute. So 1 is *2, 2 is *4, 3 is *8 etc. It will overflow if you exceed the range, but there wouldn't be any objects responding beyond that anyway so there would never be a reason to go past that.