diff --git a/task_2 b/task_2 index 4df1b3d..67c9188 100644 --- a/task_2 +++ b/task_2 @@ -1,100 +1,98 @@ -#include -#include -#include -#include - +#include +#include +#include using namespace std; char nibble_to_hex(uint8_t i) { -static const char digits[] = "0123456789ABCDEF"; -return digits[i]; + static const char digits[] = "0123456789ABCDEF"; + return digits[i]; } void print_byte_hex(uint8_t byte) { -cout << nibble_to_hex(byte >> 4) << nibble_to_hex(byte & 0x0F); + cout << nibble_to_hex(byte >> 4) << nibble_to_hex(byte & 0x0F); } void print_hex(uint16_t value) { -uint8_t* bytes = (uint8_t*)&value; -print_byte_hex(bytes[0]); -cout << " "; -print_byte_hex(bytes[1]); + uint8_t* bytes = (uint8_t*)&value; + print_byte_hex(bytes[0]); + cout << " "; + print_byte_hex(bytes[1]); } void print_byte_binary(uint8_t byte) { -for (int i = 7; i >= 0; i--) { -cout << ((byte >> i) & 1); -if (i % 4 == 0 && i != 0) { -cout << " "; -} -} + for (int i = 7; i >= 0; i--) { + cout << ((byte >> i) & 1); + if (i % 4 == 0 && i != 0) { + cout << " "; + } + } } void print_binary(uint16_t value) { -uint8_t* bytes = (uint8_t*)&value; -print_byte_binary(bytes[0]); -print_byte_binary(bytes[1]); + uint8_t* bytes = (uint8_t*)&value; + print_byte_binary(bytes[0]); + print_byte_binary(bytes[1]); } int main() { -setlocale(LC_ALL, "Rus"); -uint16_t operand1, operand2; -char operation; + setlocale(LC_ALL, "Rus"); + uint16_t operand1, operand2; + char operation; -cout << "Введите первое число: "; -cin >> operand1; -if (cin.fail()) { - cerr << "Ошибка: неверный ввод для первого числа." << endl; - return 1; -} + cout << "Введите первое число: "; + cin >> operand1; + if (cin.fail()) { + cerr << "Ошибка: неверный ввод для первого числа." << endl; + return 1; + } -cout << "Введите знак (&, |, или ^): "; -cin >> operation; -if (cin.fail()) { - cerr << "Ошибка: неверный ввод для знака." << endl; - return 1; -} + cout << "Введите знак (&, |, или ^): "; + cin >> operation; + if (cin.fail()) { + cerr << "Ошибка: неверный ввод для знака." << endl; + return 1; + } -cout << "Введите второе число: "; -cin >> operand2; -if (cin.fail()) { - cerr << "Ошибка: неверный ввод для второго числа." << endl; - return 1; -} + cout << "Введите второе число: "; + cin >> operand2; + if (cin.fail()) { + cerr << "Ошибка: неверный ввод для второго числа." << endl; + return 1; + } -uint16_t result; -switch (operation) { -case '&': - result = operand1 & operand2; - break; -case '|': - result = operand1 | operand2; - break; -case '^': - result = operand1 ^ operand2; - break; -default: - cerr << "Ошибка: неверная операция." << endl; - return 1; -} + uint16_t result; + switch (operation) { + case '&': + result = operand1 & operand2; + break; + case '|': + result = operand1 | operand2; + break; + case '^': + result = operand1 ^ operand2; + break; + default: + cerr << "Ошибка: неверная операция." << endl; + return 1; + } -cout << "Ваше выражение:" << operand1 << " " << operation << " " << operand2 << endl; + cout << "Ваше выражение:" << operand1 << " " << operation << " " << operand2 << endl; -cout << "Шестнадцатеричный вывод:" << endl; -print_hex(operand1); -cout << " " << operation << " "; -print_hex(operand2); -cout << " = "; -print_hex(result); -cout << endl; + cout << "Шестнадцатеричный вывод:" << endl; + print_hex(operand1); + cout << " " << operation << " "; + print_hex(operand2); + cout << " = "; + print_hex(result); + cout << endl; -cout << "Двоичный вывод:" << endl; -print_binary(operand1); -cout << " " << operation << " " << endl; -print_binary(operand2); -cout << " = " << endl; -print_binary(result); -cout << endl; + cout << "Двоичный вывод:" << endl; + print_binary(operand1); + cout << " " << operation << " " << endl; + print_binary(operand2); + cout << " = " << endl; + print_binary(result); + cout << endl; -return 0; + return 0; } \ No newline at end of file