All submissions

Extract the Nibble from an 8-bit Register

Code

#include <stdio.h>

unsigned char extractNibble(unsigned char reg, int pos) {
   if(pos==0){
     return(reg & 0b00001111);
}
else{return((reg & 0b11110000)>>4);}

}

int main() {
    unsigned char reg;
    int pos;
    scanf("%hhu %d", &reg, &pos);
    printf("%d", extractNibble(reg, pos));
    return 0;
}

Solving Approach

Mask off the unnecessary bits, and shift the bits to the right in the case of the upper section, couldn't use hex values on phone for some reason

 

 

Loading...

Input

170 0

Expected Output

10