#include <stdio.h> unsigned char modifyBit(unsigned char reg, int pos, int mode) { for(int i=7;i>=0;i--) { if(mode==1) { if(pos==i) { reg |=(1<<pos); } } else if(mode==0) { if(pos==i) { reg &=~(1<<pos); } } } return reg; } int main() { unsigned char reg; int pos, mode; scanf("%hhu %d %d", ®, &pos, &mode); if(pos<=7) { printf("%d", modifyBit(reg, pos, mode)); } else { printf("Position should be less than 7"); } return 0; }
Test Cases
Test Results
Input
10 3 1
Expected Output
10