#include <stdio.h>
#include <stdint.h>
// Define bitwise macros here
#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, 2);
reg = SET_BIT(reg, 7);
reg = CLEAR_BIT(reg, 3);
reg = TOGGLE_BIT(reg, 5);
return reg;
}
int main() {
uint8_t reg;
scanf("%hhu", ®);
printf("%u", modify_register(reg));
return 0;
}
SET_BIT(reg, bit)
→ (reg | (1 << bit))
CLEAR_BIT(reg, bit)
→ (reg & ~(1 << bit))
TOGGLE_BIT(reg, bit)
→ (reg ^ (1 << bit))
Input
0
Expected Output
164