//1.编写函数: // unsigned int reverse_bit(unsigned int value); //这个函数的返回值value的二进制位模式从左到右翻转后的值。

//1.编写函数
// unsigned int reverse_bit(unsigned int value);
//这个函数的返回值value的二进制位模式从左到右翻转后的值。
//
// 如:
// 在32位机器上25这个值包含下列各位:
// 00000000000000000000000000011001
// 翻转后:(2550136832)
// 10011000000000000000000000000000
// 程序结果返回:
// 2550136832

代码


    #include<stdio.h>
#include <math.h>
unsigned int reverse_bit(unsigned int value) {
	unsigned int  sum = 0;
	int  i;
	for( i = 0;i<32;i++) {
		sum+=((value>>i)&1)*pow(2,31-i);
	}
	return sum;
}
int main () {
	unsigned int i = 25;
	printf("%u",reverse_bit(i));
	return 0;
}


猜你喜欢

转载自blog.csdn.net/weixin_44077227/article/details/89099462