bitwise operations in c