#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { unsigned char a = 0xF0; //extracting lower nibble unsigned char b = 0x0F; //extracting upper nibble if( pos ){ return ( ( reg & a )>>4 ); } else{ return ( reg & b ); } } 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