#include <stdio.h> #include <stdint.h> void decode_status(uint8_t reg) { if((reg&(1<<0))==1){printf("%s\n",a);} if((reg&(1<<1))==1){printf("%s\n",b);} if((reg&(1<<2))==1){printf("%s\n",c);} if((reg&(1<<3))==1){printf("%s\n",d);} if((reg&(1<<4))==1){printf("%s\n",e);} if((reg&(1<<5))==1){printf("%s\n",f);} if((reg&(1<<6))==1){printf("%s\n",g);} if((reg&(1<<7))==1){printf("%s\n",h);} } int main() { uint8_t reg; const char *a="Power On",*b="Error",*c="Tx Ready";*d="Rx Ready",*e="Overheat",*f="Undervoltage",*g="Timeout",*h="Reserved"; scanf("%hhu", ®); decode_status(reg); return 0; }
Solving Approach
Test Cases
Test Results
Input
13
Expected Output
Power On Tx Ready Rx Ready