#include <stdio.h> typedef union { unsigned char reg; struct { unsigned char enable : 1; // bit 0 unsigned char mode : 1; // bit 1 unsigned char priority : 2; // bit 2–3 unsigned char reserved : 4; // bit 4–7 } bits; } Control_Register; int valid_register(const Control_Register *con_reg) { return (con_reg->bits.enable == 1) && (con_reg->bits.priority <= 2) && (con_reg->bits.reserved == 0); } int main(void) { Control_Register con_reg = {0}; scanf("%hhx", &con_reg.reg); // đọc dạng hex, ví dụ 05 printf("%d", valid_register(&con_reg)); return 0; }
Test Cases
Test Results
Input
05
Expected Output
1