3059: 【普及-】【P1100】高低位交换
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:8
解决:2
题目描述
给出一个小于 的非负整数。这个数可以用一个 位的二进制数表示(不足 位用 补足)。我们称这个二进制数的前 位为“高位”,后 位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
例如,数 用二进制表示为 (添加了 个前导 补足为 位),其中前 位为高位,即 ;后 位为低位,即 。将它的高低位进行交换,我们得到了一个新的二进制数 。它即是十进制的 。
输入
一个小于 的非负整数
输出
将新的数输出
样例输入 复制
1314520
样例输出 复制
249036820
提示
#include<bits/stdc++.h> using namespace std; unsigned int n,num1,num2; int main(){ cin>>n; num1=(n<<16); num2=(n>>16); cout<<(num1|num2); return 0; }