比如:
在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
10011000000000000000000000000000
代码如下:
#include<stdio.h>
#include<stdlib.h>
int main(){
unsigned int n = 25;
unsigned int i = 0;
int num=0;
for (i = 0; i < 32; i++, n /= 2){
num = num * 2 + n % 2;//将二进制数转化为10进制数
} //将25的二进制数翻转后并将其转化为10进制数
printf("%u", num);
printf("\n");
system("pause");
return 0;
}
执行结果如下: