when performing bit shift operations you must specify that the constant 1 or 0 is a unsigned long long, or else the compiler limits it to 32 bits