Link
熟悉了位运算之后发现这。。。真的是一道橙题
思路
我们需要位移操作,即"<<“这玩意,和”>>"这玩意。
a<<b就是将a的二进制左移b位,相当于a*(2^b)
a>>b就是将a的二进制右移b位,相当于a/(2^b)(而且这玩意会把尾数吃掉)
然后就很简单了。
复制代码
1
2
3
4
5
6
7
8
9#include<cstdio> long long n,a,b; int main(){ scanf("%lld",&n); a=n>>16; //前16位的数 b=n-(n>>16<<16)<<16; //后16位的数(可以自行推一下)放到前面 printf("%lld",a+b); //直接输出 }
最后
以上就是光亮航空最近收集整理的关于【二进制处理】洛谷P1100_高低位交换的全部内容,更多相关【二进制处理】洛谷P1100_高低位交换内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复