#include #include #include #include #include #include #include void print_in_hex(uint8_t byte) { std::cout << std::setw(2) << std::setfill('0') << std::hex << static_cast(byte) << " "; } void print_in_hex(const void* data, size_t size) { const uint8_t* bytes = static_cast(data); for (size_t i = 0; i < size; ++i) { print_in_hex(bytes[i]); if ((i + 1) % 16 == 0) // Перевод строки после каждых 16 байт std::cout << std::endl; } std::cout << std::endl; } void print_in_binary(uint8_t byte) { for (int i = 7; i >= 0; --i) { std::cout << ((byte >> i) & 1); if (i % 4 == 0) // Пробел после каждых 4 бит std::cout << " "; } } void print_in_binary(const void* data, size_t size) { const uint8_t* bytes = static_cast(data); for (size_t i = 0; i < size; ++i) { print_in_binary(bytes[i]); if ((i + 1) % 4 == 0) // Перевод строки после каждых 4 байт std::cout << std::endl; } std::cout << std::endl; } int main() { setlocale(0, "ru-ru"); uint8_t testData[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x12, 0x34, 0x56, 0x78 }; size_t size = sizeof(testData); std::cout << "Шестнадцатеричное представление:" << std::endl; print_in_hex(testData, size); std::cout << "Двоичное представление:" << std::endl; print_in_binary(testData, size); return 0; }