#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { unsigned char nible_mask = 15; if(pos == 1){ nible_mask = nible_mask << 4; reg = reg & nible_mask; reg = reg >> 4; return reg; } else{ reg = reg & nible_mask; return reg; } } int main() { unsigned char reg; int pos; scanf("%hhu %d", ®, &pos); printf("%d", extractNibble(reg, pos)); return 0; }
Test Cases
Test Results
Input
170 0
Expected Output
10