Shifting by 16bits may give me zero but most significant 32 bits are ffffffff. In the code hiC corresponds to most significant 32 bits and value of hiC is 0. How by not typecasting midC, we are affecting most significant 32 bits?