All submissions

Set or Clear a Specific Bit in a Register

Code

#include <stdio.h>

int main(){

unsigned char reg;
int pos , mode;

scanf("%hhu %d %d ", &reg ,&pos ,&mode );

if(pos < 0 || pos >7 || (mode != 0 && mode!= 1)) {
    printf ("invalid input\n");
    return 1;

}
if (mode ==1){
    reg |= (1 << pos);

}else  {
    reg &= ~ (1 << pos);

}
printf("%d\n",reg);

return 0;
}

Solving Approach

 

 

 

Loading...

Input

10 3 1

Expected Output

10