Невозможно определить , в каком «порядке» ваш ЦП хранит биты, потому что вы не можете адресовать отдельные биты.
Младший порядок означает, что ЦП сначала сохраняет младший байт. Но что означает first ? Это значит с самым низким адресом. У битов нет адресов, поэтому невозможно определить, кто из них первый. Конец истории.
Вот как мы говорим, является ли CPU байтовым порядком байтов:
LITTLE ENDIAN BIG ENDIAN
words: 0x1234 words: 0x1234
/---------------\ /---------------\
bytes: 0x34 0x12 bytes: 0x34 0x12
/------\ /------\ /------\ /------\
+------+ +------+ +------+ +------+
| 0x34 | | 0x12 | | 0x34 | | 0x12 |
+------+ +------+ +------+ +------+
Address: 5000 5001 Address: 5001 5000
Я записал байты в одинаковом порядке с обеих сторон, но адрес разные.
Вот как вы различаете разницу между порядком байтов и порядком байтов. Вы пишете слово для адреса 5000, затем проверяете, содержит ли байт с адресом 5000 0x34 или 0x12.
Теперь с битами у вас возникает такая ситуация:
LITTLE BIT-ENDIAN BIG BIT-ENDIAN
bytes: 0x34 words: 0x34
/---------------\ /---------------\
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
bits: |0|0|1|0|1|1|0|0| bits: |0|0|1|0|1|1|0|0|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
address: 5000 5000
Я написал биты в одинаковом порядке с обеих сторон, но адрес один и тот же. Только байт имеет адрес. Отдельные биты не имеют адресов. Если бы у них были адреса, вы могли бы попросить, скажем, бит 5000.4 и посмотреть, является ли это 1 или 0, чтобы выяснить, являются ли биты младшими или старшими, но их нет, поэтому вы не можете.
Если вы сохраните байт, а затем прочитаете его, вы получите одно и то же значение байта, независимо от того, есть ли в вашей системе биты с прямым или младшим порядковым номером.