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