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