Little vs Big Endianess: как интерпретировать тест

Итак, я пишу программу для проверки порядка следования байтов машины и печатаю ее. . Я понимаю разницу между прямым и обратным порядком байтов, однако из того, что я нашел в Интернете, я не понимаю, почему эти тесты показывают порядок байтов машины.

Вот что я нашел в Интернете. Что означает *(char *)&x и как равенство единице доказывает, что машина работает с прямым порядком байтов?

int x = 1;
if (*(char *)&x == 1) {
    printf("Little-Endian\n");
} else {
    printf("Big-Endian\n");
}
9
задан atb 2 April 2012 в 05:39
поделиться