1100 高低位交换
纯模拟
给定一个数,将其转为32位二进制,然后分成前16 和 后16位
将前16和后16进行一个交换,得出来一个新数,将其转化成十进制
输出
好像很简单
进行前十六后十六的交换,左移16位,剩下的就是后16位
右移十六位就是前面的16;两者相加就是最后的数了
前后就已经进行一个交换了
因为二进制涉及到一个窗口
一个固定 窗口
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
using namespace std;
unsigned int shu
int main()
{
cin>>shu ;
cout<<(shu>>16)+(shu<<16)<<endl;//很骚 我喜欢
}
这篇博客介绍了一个简单的二进制操作技巧,通过将一个整数的高位和低位进行交换来得到新的数值。具体方法是将数值右移16位获取后16位,左移16位获取前16位,然后将两者相加得到结果。这是一个纯模拟的位操作过程,适用于理解二进制和计算机底层操作。
881

被折叠的 条评论
为什么被折叠?



