Adding an overload of the print_in_hex function and Adding a type conversion function

Этот коммит содержится в:
2025-02-03 22:38:48 +03:00
родитель b31787fe83
Коммит 9214dff998

Просмотреть файл

@@ -17,6 +17,33 @@ cout << nibble_to_hex(byte >> 4)
<< endl;
}
const uint8_t* as_bytes(const void* data);
void print_in_hex(const void* data, size_t size)
{
const uint8_t* bytes = as_bytes(data);
for (size_t i = 0; i < size; i++)
{
print_in_hex(bytes[i]);
if ((i + 1) % 16 == 0)
{
cout << '\n';
}
else
{
cout << ' ';
}
}
}
const uint8_t* as_bytes(const void* data)
{
return reinterpret_cast<const uint8_t*>(data);
}
int main()
{
@@ -37,9 +64,25 @@ int main()
assert(nibble_to_hex(0xe) == 'e');
assert(nibble_to_hex(0xf) == 'f');
uint8_t byte = 0xce;
uint8_t byte = 0xff;
print_in_hex(byte);
uint8_t u8 = 0x42;
cout << "u8 bytes: ";
print_in_hex(&u8, sizeof(u8));
cout << '\n';
uint16_t u16 = 0x42;
cout << "u16 bytes: ";
print_in_hex(&u16, sizeof(u16));
cout << '\n';
uint32_t u32 = 0x42;
cout << "u32 bytes: ";
print_in_hex(&u32, sizeof(u32));
cout << '\n';
//print_in_hex(byte);
cout << "Press any key for exit... ";