Bit Reversal in an 8-bit Value

Code

#include <stdio.h>
#include <stdint.h>

uint8_t reverse_bits(uint8_t reg){
    uint8_t x = 0;
    uint8_t back;
    for(uint8_t i = 0; i < 8; i++){
        back = 7 - i; 
        x = x | ((reg & 0x01) << back); 
        reg >>= 1; 
    }
    return x; 
}

int main(){
    uint8_t reg; 
    scanf("%hhu",&reg);
    printf("%hhu", reverse_bits(reg));
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

26

Expected Output

88