#include <iostream>
using namespace std;
unsigned int revert(unsigned int num)
{
unsigned int index=1;
unsigned int t=0;
unsigned int n=0;
int h=31;
int q=1;
for(int i=31; i>=0; i--)
{
index<<=i;
t=index & num;
if(h>=1)
{
t>>=h;
h-=2;
}
else if(q<=31)
{
t<<=q;
q+=2;
}
n=n|t;
index=1;
}
return n;
}
void main()
{
unsigned int num=4294901760;
num=revert(num);
cout<<num;
}把32位的unsigned int按位反转
最新推荐文章于 2022-02-19 12:51:03 发布
本文介绍了一种使用位操作来反转32位无符号整数的方法,并提供了一个完整的C++实现示例。通过循环遍历每一位,将输入整数的二进制位从最低位到最高位依次反转。
7875

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



