题目描述
给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)
思路
将n分别向左右移16位然后相加就可以了
#include
using namespace std;
unsigned long int n;
int main()
{
cin>>n;
cout<<((n << 16)|(n >> 16));
}
Comments NOTHING