#5220. 高低位交换
高低位交换
高低位交换
题目描述
给定一个小于 的非负整数 。
把 看成一个 32 位无符号二进制数(不足 32 位时在前面补 0)。
其中:
- 前 16 位称为 高 16 位;
- 后 16 位称为 低 16 位。
现在把高 16 位和低 16 位交换位置,得到一个新的 32 位无符号整数。
请输出交换后的十进制结果。
例如:
1314520 的 32 位二进制表示为:
0000000000010100 0000111011011000
交换高 16 位和低 16 位后:
0000111011011000 0000000000010100
对应的十进制结果为 249036820。
输入格式
输入一个非负整数 ,满足:
0 <= x < 2^32
输出格式
输出高 16 位与低 16 位交换后的十进制整数。
样例
输入
1314520
输出
249036820
提示
可以思考下面三个问题:
- 如何取出最低的 16 位?
- 如何取出最高的 16 位?
- 如何把两部分重新拼接起来?
粤公网安备44195502000252号