题目:
给出一个可以用一个32 位的二进制数表示的非负整数(不足 32位用 0 补足)。我们称这个二进制数的前 16位为“高位”,后 16 位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
思路:
1.找到32位二进制数对应的数据类型——unsigned int(%u)
(补充:int表示正负31位二进制数;long long表示正负63位二进制数;unsigned int表示正32位二进制数;unsigned long(%I64d)表示正64位二进制数)
2.位运算:将前16位与后16位分开
代码展示: