Предположим, что число 'numb'=1025 [00000000 00000000 00000100 00000001] представлено следующим образом:
На маленькой конечной машине:
00000001 00000100 00000000 00000000
На Big-Endian Machine:
00000000 00000000 00000100 00000001
Теперь, если я применил Left Shift на 10 бит (то есть: numb <= 10), я должен иметь:
[A] Мало-Endian Machine:
Как я заметил в GDB, Little Endian делает левый сдвиг в 3 этапа: [Я показал "3" шаги, чтобы лучше понять обработку)
-  Относитесь к no. в Большой Эндианской конвенции: 00000000 00000000 00000100 00000001
-  Применить Left-Shift: 00000000 00010000 00000100 00000000
-  Представьте результат снова в Little-Endian: 00000000 00000100 00010000 00000000
[В]. На машине Big-Endian:
00000000        00010000        00000100        00000000
Мой вопрос:
Если я применил только левый сдвиг на маленьком конце Конвенции, он должен дать:
 numb:
00000001 00000100 00000000 00000000
 numb << 10:
00010000 00000000 00000000 00000000
Но на самом деле он дает:
00000000        00000100        00010000        00000000 
Чтобы достичь только второго результата, я показал три гипотетических шага выше.
Пожалуйста, объясните мне, почему эти два результата отличаются друг от друга: фактический результат numb << 10 отличается от ожидаемого результата.
