#include <stdio.h> #include <stdint.h> /*typedef union { uint8_t uc_reg; struct { uint8_t Power_on:1; uint8_t error :1; uint8_t tx_ready:1; uint8_t rx ready:1; uint8_t overheat:1; uint8_t undervolatge:1; uint8_t timeout :1; uint8_t reserved:1; }B; }flag;*/ void decode_status(uint8_t status_reg) { // Your logic here //flag.uc_reg = reg ; // if(status_reg&0x1) printf("Power On\n"); if(status_reg&0x2) printf("Error\n"); if(status_reg&0x1) printf("Tx Ready\n"); if(status_reg&0x8) printf("Rx Ready\n"); if(status_reg&0x10) printf("Overheat\n"); if(status_reg&0x20) printf("Undervoltage\n"); if(status_reg&0x40) printf("Timeout\n"); if(status_reg&0x80) printf("Reserved\n"); } 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