【洛谷P1100】高低位交换

 高低位交换

题目链接

这道题非常水,我是用位运算做的

a=n>>16  二进制的“高位”
b=n-(a<<16)  二进制的“低位”
ans=(b<<16)+a  转换

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 using namespace std;
 5 #define int long long
 6 int n;
 7 #undef int
 8 int main()
 9 #define int long long
10 {
11     scanf("%d",&n);
12     int a=n>>16;
13     int b=n-(a<<16);
14     cout<<(b<<16)+a<<endl;
15     return 0;
16 }

 

posted @ 2018-07-24 13:05  yjk  阅读(136)  评论(0编辑  收藏  举报