#include <stdio.h>
unsigned char extractNibble(unsigned char reg, int pos) {
return (pos==0)? reg&0x0f:reg>>4&0x0f;
}
int main() {
unsigned char reg;
int pos;
scanf("%hhu %d", ®, &pos);
printf("%d", extractNibble(reg, pos));
return 0;
}
nothing more than shifting registers and ternary operator
Input
170 0
Expected Output
10