【洛谷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 }