All submissions

Set or Clear a Specific Bit in a Register

Code

#include <stdio.h>

unsigned char modifyBit(unsigned char reg, int pos, int mode) {
    // Write your code here
    reg=((reg&~(1<<pos))|(mode<<pos));
    return reg;
}

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

>>> Initially we need to mask the position in the register , means in which position you want to manipulate the register so after masking that position go with OR Operation with mode data left shifted  with the position that's all you can do it. Thank you..

 

Loading...

Input

10 3 1

Expected Output

10