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