#include <stdio.h> #include <stdint.h> uint8_t reverse_bits(uint8_t val) { uint8_t tmp, out = 0; tmp = val & 1; tmp <<= 7; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 6; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 5; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 4; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 3; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 2; out |= tmp; val >>= 1; tmp = val & 1; tmp <<= 1; out |= tmp; val >>= 1; tmp = val & 1; out |= tmp; return out; } int main() { uint8_t val; scanf("%hhu", &val); uint8_t result = reverse_bits(val); printf("%u", result); return 0; }
Test Cases
Test Results
Input
26
Expected Output
88