#include <stdio.h>
#include <stdint.h>
// Define bitwise macros here
uint8_t set_bit(uint8_t reg,int position){
reg=reg|(1<<position);
return reg;
}
uint8_t clear_bit(uint8_t reg,int position){
reg =reg &(~(1<<position));
return reg;
}
uint8_t toggle_bit(uint8_t reg,int position){
reg = reg ^ (1<<position);
return reg;
}
uint8_t modify_register(uint8_t reg) {
// Apply operations in order
int position=2;
reg = set_bit(reg,position);
position=7;
reg = set_bit(reg,position);
position =3;
reg= clear_bit(reg,position);
position =5;
reg= toggle_bit(reg,position);
return reg;
}
int main() {
uint8_t reg;
scanf("%hhu", ®);
printf("%u", modify_register(reg));
return 0;
}
Expected Output
164