Побитовые операторы и "порядок байтов"
Поразрядные операторы абстрагируют endian порядок байтов. Например, оператор bitwise-shift >>
всегда сдвигает биты в сторону bit-shift-operators младшего разряда. Однако endian это не означает, что вы можете bit-manipulation полностью игнорировать порядок byte-order байтов при их использовании, например, при bitwise-shift работе с отдельными байтами endianness в более крупной структуре big-endian вы не всегда можете предполагать, что endianness они попадут в одно и то же byte-order место.
short temp = 0x1234;
temp = temp >> 8;
// on little endian, c will be 0x12, on big endian, it will be 0x0
char c=((char*)&temp)[0];
Чтобы уточнить, я не bit-shift согласен с другими ответами big-endian здесь. Я пытаюсь подчеркнуть, что, хотя byte-order побитовые операторы по существу endian нейтральны с порядком байтов, вы bit-shift не можете игнорировать эффект bitwise порядка байтов в своем коде, особенно bitwise-shift в сочетании с другими операторами.
c
bit-manipulation
endianness
bit-shift
Побитовые операторы и "порядок байтов"
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.