#include <stdio.h> // 10101011 <<1 = 01010110 // unsigned char extractNibble(unsigned char reg, int pos) { unsigned char extractbit; if (pos == 0){ extractbit = (reg<<pos)& 0x0F; } else{ extractbit = (reg>>4) & 0x0F ; } return (int)extractbit; } 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