#include <stdio.h> #include <stdint.h> #define CHK(reg,pos) ((reg>>pos)&1u) void decode_status(uint8_t status_reg) { if (CHK(status_reg,0)) { puts("Power On"); } if (CHK(status_reg,1)) { puts("Error"); } if (CHK(status_reg,2)) { puts("Tx Ready"); } if (CHK(status_reg,3)) { puts("Rx Ready"); } if (CHK(status_reg,4)) { puts("Overheat"); } if (CHK(status_reg,5)) { puts("Undervoltage"); } if (CHK(status_reg,6)) { puts("Timeout"); } if (CHK(status_reg,7)) {/ puts("Reserved"); } } int main() { uint8_t reg; scanf("%hhu", ®); decode_status(reg); return 0; }
Solving Approach
Test Cases
Test Results
Input
13
Expected Output
Power On Tx Ready Rx Ready