#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { int x = reg&~(1<<0)&~(1<<1)&~(1<<2)&~(1<<3); int y = reg - x; if(pos == 1){ reg = x/16; }else if(pos == 0){ reg = y; } 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