#include <stdio.h> int lower_nibble(unsigned char reg){ reg = reg & 0x0F; return reg; } int upper_nibble(unsigned char reg){ reg = (reg & 0xF0) >> 4; return reg; } unsigned char extractNibble(unsigned char reg, int pos) { // Write your code here if (pos == 0){ reg = lower_nibble(reg); return reg; } else { reg = upper_nibble(reg); 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