Битовые операторы абстрагируют от байтов.Например, оператор >>
всегда сдвигает биты в направлении младшего разряда.Однако это не означает, что вы можете полностью игнорировать порядок байтов при их использовании, например, при работе с отдельными байтами в более крупной структуре вы не всегда можете предполагать, что они упадут в одном месте.
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];
Чтобы уточнить, я не принципиально не согласен с другими ответами здесь.Я хочу подчеркнуть, что хотя побитовые операторы по существу нейтральны по порядку байтов, вы не можете игнорировать эффект байтовости в вашем коде, особенно в сочетании с другими операторами.