#include <stdio.h> #include <stdint.h> // Marco #define BV(bit) (1 << bit) #define setBit(byte, bit) (byte |= BV(bit)) #define clearBit(byte, bit) (byte &= ~BV(bit)) #define toggleBit(byte, bit) (byte ^= BV(bit)) uint8_t modify_register(uint8_t reg) { reg = setBit(reg, 2); reg = setBit(reg, 7); reg = clearBit(reg, 3); reg = toggleBit(reg, 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