以80为例
其二进制//80: 0000 0000 0000 0000 0000 0000 0101 0000
编写一个函数将其二进制位模式从左到右翻置,就会得到这么一个值
0000 1010 0000 0000 0000 0000 0000 0000
这个数的十进制值为167772160
代码如下
unsigned int reverse_bit(unsigned int value){
int a = 0;
int b = 0;
int i = 0;
for (i = 1; i <=31; i++){
a = value & 1;//取value的最后一位
value = value >> 1;//value的数值右移,取前一位
b = a|b ;//将a(value)的最后一位赋给b
b = b << 1;//b左移一位,空出最后一位给value的最后一位
}
return b;
}
int main(){
printf("%d\n", reverse_bit(80));
system("pause");
return 0;
}
得到结果如下。

本文介绍了一个函数,用于将给定整数的二进制位模式从左至右翻转,并提供了具体的C语言实现代码示例。通过该函数,可以将80的二进制表示翻转为167772160。
180

被折叠的 条评论
为什么被折叠?



