二进制位模式从左到右翻转

例如:

在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
代码

#include<stdio.h>
#include<stdlib.h>
unsigned int reverse_bit(unsigned int n)
{
    int value = 0;
    int i = 0;
    for(i = 31; i>=0; i--)
    {
        if(n & 1)
        {
            value |= (1<<i);
        }
        n=(n>>1);
    }
    return value;
}
int main()
{
    int n = 25;
    printf("%u",reverse_bit(n));
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/a331683772/article/details/78827916