#include <stdio.h> typedef enum { lower=0, upper=1 }nibble; unsigned char extractNibble(unsigned char reg, int pos) { if(pos==lower) reg=reg&0x0F; else reg &=((reg&0xF0)>>4); 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