#include <stdio.h>
#include <stdint.h>
// Bitwise macros
#define SET_BIT(num, pos) ((num) |= (1U << (pos))) // set bit
#define CLEAR_BIT(num, pos) ((num) &= ~(1U << (pos))) // clear bit
#define TOGGLE_BIT(num, pos) ((num) ^= (1U << (pos))) // toggle bit
uint8_t modify_register(uint8_t reg) {
// Apply operations in given order
SET_BIT(reg, 2); // Set bit 2
SET_BIT(reg, 7); // Set bit 7
CLEAR_BIT(reg, 3); // Clear bit 3
TOGGLE_BIT(reg, 5); // Toggle bit 5
return reg;
}
int main() {
uint8_t reg;
scanf("%hhu", ®);
uint8_t result = modify_register(reg);
printf("%u\n", result);
return 0;
}
Input
0
Expected Output
164