比如:将一个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;
}