#include <stdio.h>
#include <stdint.h>
void decode_status(uint8_t status_reg) {
// Dùng static const để tối ưu và đảm bảo dữ liệu chuẩn
static const char *flag_name[8] = {
"Power On", // Bit 0
"Error", // Bit 1
"Tx Ready", // Bit 2
"Rx Ready", // Bit 3
"Overheat", // Bit 4
"Undervoltage", // Bit 5
"Timeout", // Bit 6 (Chữ T viết hoa, viết liền)
"Reserved" // Bit 7
};
for(int i = 0; i < 8; i++){
// Kiểm tra bit
if(status_reg & (1U << i)){
printf("%s\n", flag_name[i]);
}
}
}
int main() {
uint8_t reg;
if (scanf("%hhu", ®) == 1) {
decode_status(reg);
}
return 0;
}Solving Approach
Input
13
Expected Output
Power On Tx Ready Rx Ready