#include <stdio.h> unsigned char extractNibble(unsigned char reg, int pos) { // Write your code here if (pos != 0 && pos != 1) { return 0; // Trả về 0 nếu pos không hợp lệ } if (pos == 0) // Sửa = thành == { // Lower nibble: lấy 4 bit cuối return reg & 0x0F; // 0x0F = 00001111 } else // Bỏ dấu () { // Upper nibble: dịch phải 4 bit rồi lấy 4 bit cuối return (reg >> 4) & 0x0F; } } 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