概述
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_高低位交换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复