From 36eab3e8d0abe06d10df5168c71eb6bf9c5c094d Mon Sep 17 00:00:00 2001 From: FokinSA Date: Sun, 5 Jan 2025 10:44:21 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- задание1.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 задание1.c diff --git a/задание1.c b/задание1.c new file mode 100644 index 0000000..98887f9 --- /dev/null +++ b/задание1.c @@ -0,0 +1,53 @@ +#include +#include + +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; +}