#include <stdio.h> #include <stdint.h> void status(int i){ switch(i){ case 0: {printf("Power On\n"); break;} case 1: { printf("Error\n"); break; } case 2: {printf("Tx Ready\n"); break;} case 3: { printf("Rx Ready\n"); break; } case 4:{ printf("Overheat\n"); break; } case 5: { printf("Undervoltage\n"); break; } case 6:{ printf("Timeout\n"); break; } case 7:{ printf("Reserved\n"); break; } } } void decode_status(uint8_t status_reg) { int a=0b00000001; for(int i=0;i<8;i++){ if((status_reg&a)!=0){ status(i);} a<<=1; } } 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