编写函数:(不使用位操作符) unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。

#include <stdio.h>
#include <stdlib.h>
unsigned int reverse_bit(unsigned int n){
	unsigned int sum = 0;
	for (int i = 0; i < 32; ++i, n /= 2){	保证遍历32次,使得二进制高位0保留下来
		unsigned int tmp = n % 2;	//将n的每一个二进制位取出来
		sum = sum * 2 + tmp;
	}
	return sum;
}
int main(){
	printf("%u\n",reverse_bit(25));
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44781107/article/details/89420607