
#include<stdio.h>
int main()
{
int reg, pos, mode;
printf("Enter register value: ");
scanf("%d", ®);
printf("Enter bit position (0-7): ");
scanf("%d", &pos);
printf("Enter mode (1=set, 0=clear): ");
scanf("%d", &mode);
if(mode == 1)
{
reg = reg | (1 << pos);
printf("After Set = %d\n", reg);
}
else
{
reg = reg & ~(1 << pos);
printf("After Clear = %d\n", reg);
}
return 0;
}
#include <stdio.h>
#define SET_BIT(reg, pos) ((reg) |= (1U << (pos)))
#define CLR_BIT(reg, pos) ((reg) &= ~(1U << (pos)))
unsigned char modifyBit(unsigned char reg, int pos, int mode) {
if(mode == 1){
SET_BIT(reg,pos);
}
else{
CLR_BIT(reg,pos);
}
return reg;
}
int main() {
unsigned char reg;
int pos, mode;
scanf("%hhu %d %d", ®, &pos, &mode);
printf("%d", modifyBit(reg, pos, mode));
return 0;
}

#include <stdio.h>
unsigned char modifyBit(unsigned char reg, int pos, int mode) {
// Write your code here
if(mode == 1){
reg |= (1<< pos);
}
else if(mode==0){
reg&=~(1<<pos);
}
return reg;
}
int main() {
unsigned char reg;
int pos, mode;
scanf("%hhu %d %d", ®, &pos, &mode);
printf("%d", modifyBit(reg, pos, mode));
return 0;
}