#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;
}
ICAgICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KICAgICAKICAgICAgICBpbnQgbWFpbigpIHsKICAgICAKICAgICAgICAgICAgY2hhciBjcjEgPSAnWCcsIGNyMiA9ICdZJzsKICAgICAgICAgICAgaW50IGluMSwgaW4yID0gMDsKICAgICAgICAgICAgZG91YmxlIGRiMSA9IDEuMCwgZGIyID0gMi4wOwogICAgICAgICAgICBjaGFyICpjaDsKICAgICAKICAgICAgICAgICAgLy8g0JLRi9Cy0L7QtCDQsNC00YDQtdGB0L7QsiDQuCDRgNCw0LfQvNC10YDQvtCyCiAgICAgCiAgICAgICAgICAgIHByaW50ZigiYzFcdFx0JXBcdCV6dVxuIiwgKHZvaWQqKSZjcjEsIHNpemVvZihjcjEpKTsKICAgICAgICAgICAgcHJpbnRmKCJjMlx0XHQlcFx0JXp1XG4iLCAodm9pZCopJmNyMiwgc2l6ZW9mKGNyMikpOwogICAgICAgICAgICBwcmludGYoImkxXHRcdCVwXHQlenVcbiIsICh2b2lkKikmaW4xLCBzaXplb2YoaW4xKSk7CiAgICAgICAgICAgIHByaW50ZigiaTJcdFx0JXBcdCV6dVxuIiwgKHZvaWQqKSZpbjIsIHNpemVvZihpbjIpKTsKICAgICAgICAgICAgcHJpbnRmKCJkMVx0XHQlcFx0JXp1XG4iLCAodm9pZCopJmRiMSwgc2l6ZW9mKGRiMSkpOwogICAgICAgICAgICBwcmludGYoImQyXHRcdCVwXHQlenVcbiIsICh2b2lkKikmZGIyLCBzaXplb2YoZGIyKSk7CiAgICAgICAgICAgIHByaW50ZigicGNcdFx0JXBcdCV6dVxuIiwgKHZvaWQqKSZjaCwgc2l6ZW9mKGNoKSk7CiAgICAgCiAgICAgICAgICAgIC8vINCX0LDQv9C40YHRjCDRiNC10YHRgtC90LDQtNGG0LDRgtC10YDQuNGH0L3QvtCz0L4g0LfQvdCw0YfQtdC90LjRjyDRgSDRg9C90LjQutCw0LvRjNC90YvQvNC4INCx0LDQudGC0LDQvNC4CiAgICAgICAgICAgIGluMSA9IDB4MUEyQjNDNEQ7ICAvLyDQsdCw0LnRgtGLOiAweDFBLCAweDJCLCAweDNDLCAweDRECiAgICAgICAgICAgIGNoID0gKGNoYXIqKSZpbjE7CiAgICAgCiAgICAgICAgICAgIC8vINCf0L7QsdCw0LnRgtC+0LLRi9C5INCy0YvQstC+0LQKICAgICAgICAgICAgcHJpbnRmKCJcbtCh0L7QtNC10YDQttC40LzQvtC1IGluMSA9IDB4JTA4WCDQv9C+INCx0LDQudGC0LDQvDpcbiIsIGluMSk7CiAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKGludClzaXplb2YoaW4xKTsgaSsrKSB7CiAgICAgICAgICAgICAgICBwcmludGYoItCR0LDQudGCICVkOiAweCUwMlhcbiIsIGksICh1bnNpZ25lZCBjaGFyKWNoW2ldKTsKICAgICAgICAgICAgfQogICAgIAogICAgICAgICAgICAvLyDQkNC90LDQu9C40Lcg0L/QvtGA0Y/QtNC60LAg0LHQsNC50YLQvtCyCiAgICAgICAgICAgIGlmIChjaFswXSA9PSAweDREICYmIGNoWzFdID09IDB4M0MgJiYgY2hbMl0gPT0gMHgyQiAmJiBjaFszXSA9PSAweDFBKSB7CiAgICAgICAgICAgICAgICBwcmludGYoIlxu0KHQuNGB0YLQtdC80LAg0LjRgdC/0L7Qu9GM0LfRg9C10YIgbGl0dGxlLWVuZGlhbiAo0LzQu9Cw0LTRiNC40Lkg0LHQsNC50YIg0L/QviDQvNC70LDQtNGI0LXQvNGDINCw0LTRgNC10YHRgykuXG4iKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjaFswXSA9PSAweDFBICYmIGNoWzFdID09IDB4MkIgJiYgY2hbMl0gPT0gMHgzQyAmJiBjaFszXSA9PSAweDREKSB7CiAgICAgICAgICAgICAgICBwcmludGYoIlxu0KHQuNGB0YLQtdC80LAg0LjRgdC/0L7Qu9GM0LfRg9C10YIgYmlnLWVuZGlhbiAo0YHRgtCw0YDRiNC40Lkg0LHQsNC50YIg0L/QviDQvNC70LDQtNGI0LXQvNGDINCw0LTRgNC10YHRgykuXG4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHByaW50ZigiXG7QndC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0L7RgNGP0LTQvtC6INCx0LDQudGC0L7Qsi5cbiIpOwogICAgICAgICAgICB9CiAgICAgCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0=