#include <stdio.h> #include <stdint.h> #define pos_2 2 #define pos_3 3 #define pos_5 5 #define pos_7 7 #define set_bit(reg,pos) (reg|(1<<pos)) #define clear_bit(reg,pos) (reg&(~(1<<pos))) #define toggle_bit(reg,pos) (reg^(1<<pos)) uint8_t modify_register(uint8_t reg) { reg=set_bit(reg,pos_2);//set bit 2 reg=set_bit(reg,pos_7);//set bit 7 reg=clear_bit(reg,pos_3);//clear bit 3 reg=toggle_bit(reg,pos_5);//toggle bit 5 return reg; } int main() { uint8_t reg; scanf("%hhu", ®); printf("%u", modify_register(reg)); return 0; }
Test Cases
Test Results
Input
0
Expected Output
164