Set or Clear a Specific Bit in a Register

Code

#include <stdio.h>
unsigned char modifyBit(unsigned char reg, int pos, int mode){
  
  return (mode==1)?(reg |(1<<pos)):(reg &(~(1<<pos)));

 
}
int main(){
    unsigned char reg;
    int pos, mode;
    scanf("%hhu %d %d", &reg,&pos,&mode);
    printf("%d",modifyBit(reg,pos,mode));
    return 0;

}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 3 1

Expected Output

10