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