이거 이해가 안됨



printf("%x", (0x12345678 >> 16) & 0xffff);


이거

0001 0010 0011 0100 0101 0110 0111 1000

0000 0000 0000 0000 0001 0010 0011 0100

0000 0000 0000 0000 1111 1111 1111 1111

0000 0000 0000 0000 0001 0010 0011 0100

= 1234


이거까진 알겠는데

0x12345678은 왜 앞에서 시작하는거임?

아니면 앞에거 잘못 이해 한거임?