#include <stdio.h>
int main() {
char cr1 = 'X', cr2 = 'Y';
int in1, in2 = 0;
double db1 = 1.0, db2 = 2.0;
char *ch;
// Вывод адресов и размеров
printf("c1\t\t%p\t%zu\n", (void*)&cr1
, sizeof(cr1
)); printf("c2\t\t%p\t%zu\n", (void*)&cr2
, sizeof(cr2
)); printf("i1\t\t%p\t%zu\n", (void*)&in1
, sizeof(in1
)); printf("i2\t\t%p\t%zu\n", (void*)&in2
, sizeof(in2
)); printf("d1\t\t%p\t%zu\n", (void*)&db1
, sizeof(db1
)); printf("d2\t\t%p\t%zu\n", (void*)&db2
, sizeof(db2
)); printf("pc\t\t%p\t%zu\n", (void*)&ch
, sizeof(ch
));
// Запись шестнадцатеричного значения с уникальными байтами
in1 = 0x1A2B3C4D; // байты: 0x1A, 0x2B, 0x3C, 0x4D
ch = (char*)&in1;
// Побайтовый вывод
printf("\nСодержимое in1 = 0x%08X по байтам:\n", in1
); for (int i = 0; i < (int)sizeof(in1); i++) {
printf("Байт %d: 0x%02X\n", i
, (unsigned char)ch
[i
]); }
// Анализ порядка байтов
if (ch[0] == 0x4D && ch[1] == 0x3C && ch[2] == 0x2B && ch[3] == 0x1A) {
printf("\n→ Система использует little-endian (младший байт по младшему адресу).\n"); } else if (ch[0] == 0x1A && ch[1] == 0x2B && ch[2] == 0x3C && ch[3] == 0x4D) {
printf("\n→ Система использует big-endian (старший байт по младшему адресу).\n"); } else {
printf("\n→ Неизвестный порядок байтов.\n"); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIAogICAgY2hhciBjcjEgPSAnWCcsIGNyMiA9ICdZJzsKICAgIGludCBpbjEsIGluMiA9IDA7CiAgICBkb3VibGUgZGIxID0gMS4wLCBkYjIgPSAyLjA7CiAgICBjaGFyICpjaDsKCiAgICAvLyDQktGL0LLQvtC0INCw0LTRgNC10YHQvtCyINC4INGA0LDQt9C80LXRgNC+0LIKCiAgICBwcmludGYoImMxXHRcdCVwXHQlenVcbiIsICh2b2lkKikmY3IxLCBzaXplb2YoY3IxKSk7CiAgICBwcmludGYoImMyXHRcdCVwXHQlenVcbiIsICh2b2lkKikmY3IyLCBzaXplb2YoY3IyKSk7CiAgICBwcmludGYoImkxXHRcdCVwXHQlenVcbiIsICh2b2lkKikmaW4xLCBzaXplb2YoaW4xKSk7CiAgICBwcmludGYoImkyXHRcdCVwXHQlenVcbiIsICh2b2lkKikmaW4yLCBzaXplb2YoaW4yKSk7CiAgICBwcmludGYoImQxXHRcdCVwXHQlenVcbiIsICh2b2lkKikmZGIxLCBzaXplb2YoZGIxKSk7CiAgICBwcmludGYoImQyXHRcdCVwXHQlenVcbiIsICh2b2lkKikmZGIyLCBzaXplb2YoZGIyKSk7CiAgICBwcmludGYoInBjXHRcdCVwXHQlenVcbiIsICh2b2lkKikmY2gsIHNpemVvZihjaCkpOwoKICAgIC8vINCX0LDQv9C40YHRjCDRiNC10YHRgtC90LDQtNGG0LDRgtC10YDQuNGH0L3QvtCz0L4g0LfQvdCw0YfQtdC90LjRjyDRgSDRg9C90LjQutCw0LvRjNC90YvQvNC4INCx0LDQudGC0LDQvNC4CiAgICBpbjEgPSAweDFBMkIzQzREOyAgLy8g0LHQsNC50YLRizogMHgxQSwgMHgyQiwgMHgzQywgMHg0RAogICAgY2ggPSAoY2hhciopJmluMTsKCiAgICAvLyDQn9C+0LHQsNC50YLQvtCy0YvQuSDQstGL0LLQvtC0CiAgICBwcmludGYoIlxu0KHQvtC00LXRgNC20LjQvNC+0LUgaW4xID0gMHglMDhYINC/0L4g0LHQsNC50YLQsNC8OlxuIiwgaW4xKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKGludClzaXplb2YoaW4xKTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCLQkdCw0LnRgiAlZDogMHglMDJYXG4iLCBpLCAodW5zaWduZWQgY2hhciljaFtpXSk7CiAgICB9CgogICAgLy8g0JDQvdCw0LvQuNC3INC/0L7RgNGP0LTQutCwINCx0LDQudGC0L7QsgogICAgaWYgKGNoWzBdID09IDB4NEQgJiYgY2hbMV0gPT0gMHgzQyAmJiBjaFsyXSA9PSAweDJCICYmIGNoWzNdID09IDB4MUEpIHsKICAgICAgICBwcmludGYoIlxu4oaSINCh0LjRgdGC0LXQvNCwINC40YHQv9C+0LvRjNC30YPQtdGCIGxpdHRsZS1lbmRpYW4gKNC80LvQsNC00YjQuNC5INCx0LDQudGCINC/0L4g0LzQu9Cw0LTRiNC10LzRgyDQsNC00YDQtdGB0YMpLlxuIik7CiAgICB9IGVsc2UgaWYgKGNoWzBdID09IDB4MUEgJiYgY2hbMV0gPT0gMHgyQiAmJiBjaFsyXSA9PSAweDNDICYmIGNoWzNdID09IDB4NEQpIHsKICAgICAgICBwcmludGYoIlxu4oaSINCh0LjRgdGC0LXQvNCwINC40YHQv9C+0LvRjNC30YPQtdGCIGJpZy1lbmRpYW4gKNGB0YLQsNGA0YjQuNC5INCx0LDQudGCINC/0L4g0LzQu9Cw0LTRiNC10LzRgyDQsNC00YDQtdGB0YMpLlxuIik7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigiXG7ihpIg0J3QtdC40LfQstC10YHRgtC90YvQuSDQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtC+0LIuXG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==