#include #include #include // Функция для печати значения в шестнадцатеричном виде void print_in_hex(uint16_t value) { std::cout << std::hex << std::setw(4) << std::setfill('0') << value; } // Функция для печати значения в двоичном виде void print_in_binary(uint16_t value) { for (int i = 15; i >= 0; --i) { std::cout << ((value >> i) & 1); } } int main() { uint16_t operand1, operand2; char operation; // Ввод первого операнда std::cout << "Enter first operand (hex): "; std::cin >> std::hex >> operand1; // Ввод оператора std::cout << "Enter operator (&, |, ^): "; std::cin >> operation; // Ввод второго операнда std::cout << "Enter second operand (hex): "; std::cin >> std::hex >> operand2; uint16_t result; // Выполнение операции в зависимости от введенного оператора switch (operation) { case '&': result = operand1 & operand2; break; case '|': result = operand1 | operand2; break; case '^': result = operand1 ^ operand2; break; default: std::cerr << "Invalid operator" << std::endl; return 1; } // Вывод результата в шестнадцатеричном виде std::cout << "Result in hex: "; print_in_hex(result); std::cout << std::endl; // Вывод результата в двоичном виде std::cout << "Result in binary: "; print_in_binary(result); std::cout << std::endl; return 0; }