Родитель
ec91849fb5
Сommit
669ced9923
@ -0,0 +1,53 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void print_byte_in_hex(uint8_t byte) {
|
||||
printf("%02X", byte);
|
||||
}
|
||||
|
||||
void print_data_in_hex(const void* data, size_t size) {
|
||||
const uint8_t* byteData = (const uint8_t*) data;
|
||||
for (size_t i = 0; i < size; ++i) {
|
||||
print_byte_in_hex(byteData[i]);
|
||||
printf(" ");
|
||||
if ((i + 1) % 16 == 0) {
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
if (size % 16 != 0) {
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
void print_byte_in_binary(uint8_t byte) {
|
||||
for (int i = 7; i >= 0; --i) {
|
||||
printf("%d", (byte >> i) & 0x01);
|
||||
}
|
||||
}
|
||||
|
||||
void print_data_in_binary(const void* data, size_t size) {
|
||||
const uint8_t* byteData = (const uint8_t*) data;
|
||||
for (size_t i = 0; i < size; ++i) {
|
||||
print_byte_in_binary(byteData[i]);
|
||||
printf(" ");
|
||||
if ((i + 1) % 4 == 0) {
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
if (size % 4 != 0) {
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
uint8_t data[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x01, 0x23, 0x45, 0x67};
|
||||
size_t size = sizeof(data);
|
||||
|
||||
printf("Шестнадцатеричный вывод:\n");
|
||||
print_data_in_hex(data, size);
|
||||
|
||||
printf("Двоичный вывод:\n");
|
||||
print_data_in_binary(data, size);
|
||||
|
||||
return 0;
|
||||
}
|
Загрузка…
Ссылка в новой задаче