#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { // Write your code here unsigned char nibble1=0; unsigned char nibble2=0; for (int i=0;i<8;i++){ if (i<4){ if(reg&(1<<i)){ nibble1|=(1<<i); } } else { if(reg&(1<<i)){ nibble2|=(1<<(i-4)); } } } if (pos==0){ return nibble1; } return nibble2; } 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