二进制翻转

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
unsigned reverse_bits(unsigned n) {
	unsigned sum = 0;
	int i;
	for (i = 0; i < 32; ++i) {
		sum += ((n >> i) & 1)*(unsigned)pow(2, 31 - i);
	}
	return sum;
}

int main() {
	unsigned n = 0;
	scanf("%u", &n);
	printf("%u\n",reverse_bits(n));
	system("pause");
	return 0;
}

16
134217728
请按任意键继续. . .
 

猜你喜欢

转载自blog.csdn.net/qq940051592/article/details/87827764
今日推荐