小米oj 反向位整数(简单位运算)

- 反向位整数

序号:#30难度:一般时间限制:1000ms内存限制:10M

描述

输入32位无符号整数,输出它的反向位。 例,输入4626149(以二进制表示为00000000010001101001011011100101),返回2808701440(以二进制表示为10100111011010010110001000000000)。

输入

一个无符号32位整数字符串

输出

一个无符号32位整数,为输入整数的反向位

输入样例

4626149

 复制样例

输出样例

2808701440
#include<stdio.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n;ll m;
    while(~scanf("%lld",&n))
    {
         m=0;
         for(int i=0;i<32;i++)
         {
             m|=((1&(n>>i))<<31-i);
         } 
        printf("%lld
",m);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/linruier/p/9926031.html