#include <iostream> #include <cstdint> using namespace std; // Define Reg8 class here class Reg8 { private: uint8_t reg; public: Reg8():reg(0){} void write(uint8_t v) {reg = v;} uint8_t read() {return reg;} void setBit(int bit) { if (bit >= 0 && bit <=7) reg = reg | (1<<bit); } void clearBit(int bit){ if (bit>=0 && bit<=7) reg = reg & (~(1<<bit)); } }; int main() { int initialValue; int bitToSet, bitToClear; cin >> initialValue >> bitToSet >> bitToClear; Reg8 reg; reg.write(static_cast<uint8_t>(initialValue)); reg.setBit(bitToSet); reg.clearBit(bitToClear); cout << static_cast<int>(reg.read()); return 0; }
Test Cases
Test Results
Input
10 1 3
Expected Output
2