#include <stdio.h> unsigned char modifyBit(unsigned char reg, int pos, int mode) { // Write your code here if (mode == 1){ reg |= (1 << pos); }else{ reg = 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; }
In the case we need to set the bit, we just need to move to this bit and turn it on, no matter whether it is on or off.
In case clear, we move to bit to be cleared and & with bit 0.
Test Cases
Test Results
Input
10 3 1
Expected Output
10