Javascript numbers are facetious, sometimes they play hide and seek, sometimes they just won't obey:
1 << 32 // 1