Set or Clear a Specific Bit in a Register

Code

#include<stdio.h>

unsigned char modify_bit(unsigned char reg , int pos, int mode){
    if(mode == 1){
        reg |= (1<<pos);
    }
    else{
        reg &= ~(1<<pos);
    }
    return reg ;
}

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

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

10 3 1

Expected Output

10