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

概述

Link

熟悉了位运算之后发现这。。。真的是一道橙题

思路

我们需要位移操作,即"<<“这玩意,和”>>"这玩意。
a<<b就是将a的二进制左移b位,相当于a*(2^b)
a>>b就是将a的二进制右移b位,相当于a/(2^b)(而且这玩意会把尾数吃掉)
然后就很简单了。

#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_高低位交换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部