#include <stdio.h> unsigned char modifyBit(unsigned char reg, int pos, int mode); int main() { unsigned char reg; int pos, mode; scanf("%hhu %d %d", ®, &pos, &mode); printf("%d", modifyBit(reg, pos, mode)); return 0; } unsigned char modifyBit(unsigned char reg, int pos, int mod) { unsigned char regTemp = (unsigned char)0X00; if (mod == 1){ regTemp = 1 << pos; return (reg | regTemp); } else{ regTemp = 1 << pos; return (reg ^ regTemp); } }
Test Cases
Test Results
Input
10 3 1
Expected Output
10