macros for bitwise operations