The simple 1 is a 32bit integer literal on most machines leading to an overflow: 1<<32 == 0. Even on 64 bit machines.