#include <stdio.h> #include <stdint.h> // uint8_t reverse_bits(uint8_t val) { // // Your logic here // for(int i=0;i<4;i++) // { // uint8_t mask = ((val&(128>>i))>>(8-2*i-1))|(val&(1<<i))<<(8-2*i-1); // val&=(~((128>>i)|(1<<i))); // val|=mask; // } // return val; // } uint8_t reverse_bits(uint8_t val) { // Your logic here for(int i=0;i<4;i++) { if(((val>>i)&1)!=((val>>(7-i))&1)) { val = val ^ (1<<i); val = val ^ (1<<(7-i)); } } return val; } 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