#include <stdio.h> #include <stdint.h> // Define bitwise macros here #define SET(mask) (reg |=(mask)) #define CLEAR(mask) (reg &=~(mask)) #define TOGGLE(mask) (reg ^=(mask)) #define BIT2 (1<<2) #define BIT3 (1<<3) #define BIT5 (1<<5) #define BIT7 (1<<7) uint8_t modify_register(uint8_t reg) { // Apply operations in order SET(BIT2 | BIT7); CLEAR(BIT3); TOGGLE(BIT5); 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