#include <stdio.h> #include <cstdint> typedef union { struct { unsigned int enable : 1; unsigned int mode : 1; unsigned int priority : 2; unsigned int reserve : 12; }bits; unsigned int reg; } ConfigRegister; int validate_config(ConfigRegister *cfg) { // Write logic using pointer access //printf("e:%d\n",cfg->bits.enable ); //printf("p:%d\n",cfg->bits.priority ); //printf("r:%d\n",cfg->bits.reserve ); if( (cfg->bits.enable==1) && (cfg->bits.priority != 0x11) && (cfg->bits.reserve == 0)) return 1; else return 0; } int main() { ConfigRegister cfg; scanf("%hx", &cfg.reg); int result = validate_config(&cfg); printf("%d", result); return 0; }
Test Cases
Test Results
Input
0005
Expected Output
1