#include <stdio.h> #include <stdint.h> void decode_status(uint8_t status_reg) { const char *flags[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 "Reserved" // bit 7 }; for (int bit = 0; bit < 8; bit++) { if (status_reg & (1U << bit)) { printf("%s\n", flags[bit]); } } } int main() { uint8_t status; scanf("%hhu", &status); // read 8-bit value decode_status(status); return 0; }
Solving Approach
Test Cases
Test Results
Input
13
Expected Output
Power On Tx Ready Rx Ready