#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { // Write your code here union { unsigned char lower : 4; unsigned char higher :4; unsigned char val; }uSplit; uSplit.val = reg; return (pos == 1 ? uSplit.higher : uSplit.lower ); } 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