我是靠谱客的博主 光亮航空,这篇文章主要介绍【二进制处理】洛谷P1100_高低位交换,现在分享给大家,希望可以做个参考。

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_高低位交换内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部