#include <iostream> #include <cstdint> using namespace std; class Reg32{ private: uint32_t val; public: Reg32(uint32_t v) : val(v) {} Reg32& operator|=(uint32_t rhs) { this->val |= rhs; return *this; } Reg32& operator&=(uint32_t rhs) { this->val &= rhs; return *this; } operator uint32_t() const{ return this->val; } }; int main() { uint32_t init, orVal, andVal; cin >> init >> orVal >> andVal; Reg32 reg(init); reg |= orVal; // bitwise OR reg &= andVal; // bitwise AND cout << (uint32_t)reg; return 0; }
Test Cases
Test Results
Input
8 5 14
Expected Output
12