Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
54 строки
1.2 KiB
C
54 строки
1.2 KiB
C
#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;
|
|
}
|