比如:将一个16进制0xFD,即11111101,反向,输出10111111,即0xBF。
#include <stdio.h>
unsigned char reverseBits(unsigned char num) {
unsigned char reverse_num = 0;
int i;
for (i = 0; i < 8; i++) {
if ((num & (1 << i)))
reverse_num |= 1 << ((8 - 1) - i);
}
return reverse_num;
}
int main() {
unsigned char original = 0xFD; // 11111101
unsigned char reversed = reverseBits(original); // 反转后的结果
printf("Original: 0x%02X\n", original);
printf("Reversed: 0x%02X\n", reversed); // 反转后的值
return 0;
}



















![[极客大挑战 2019]Http1](https://i-blog.csdnimg.cn/direct/4c270816d51e4fe699be3912ab07b1cc.png)