#include #include void print_in_hex(uint8_t byte) { std::cout << std::hex << std::setw(2) << std::setfill('0') << 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) 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); } 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) std::cout << std::endl; } std::cout << std::endl; } int main() { uint8_t byte = 0b10101010; uint8_t data[] = {0b00000001, 0b00000010, 0b00000011, 0b00000100, 0b00000101, 0b00000110, 0b00000111, 0b00001000, 0b00001001, 0b00001010, 0b00001011, 0b00001100, 0b00001101, 0b00001110, 0b00001111, 0b00010000}; print_in_hex(byte); std::cout << std::endl; print_in_hex(data, sizeof(data)); print_in_binary(byte); std::cout << std::endl; print_in_binary(data, sizeof(data)); return 0; }