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