#include <stdio.h>
#include <stdint.h>
// Reverse bits in an 8-bit value
uint8_t reverse_bits(uint8_t val) {
uint8_t result = 0;
for (int i = 0; i < 8; i++) {
// Shift result left to make room for next bit
result <<= 1;
// Take LSB from input and add to result
result |= (val & 1);
// Shift input right to process next bit
val >>= 1;
}
return result;
}
int main() {
uint8_t val;
scanf("%hhu", &val);
uint8_t result = reverse_bits(val);
printf("%u", result);
return 0;
}
Why Bit Reversal?
Used in:
Logic Summary
Input
26
Expected Output
88