#include <stdio.h> unsigned char modifyBit(unsigned char reg, int pos, int mode) { if(mode){ reg &= 0b11111111; } else if(mode == 0){ reg &=~(1 << pos); // 0b00001010 & 0b1111 0111 = 0b0000 0010 } return reg; } int main() { unsigned char reg = 10; int pos = 3 ; int mode = 0; reg = modifyBit(reg,pos,mode); scanf("%d %d %d", ®, &pos, &mode); printf("%d", modifyBit(reg, pos, mode)); return 0; }
Test Cases
Test Results
Input
10 3 1
Expected Output
10