Little Endian против Big Endian на примере - PullRequest
0 голосов
/ 26 февраля 2019

Я получил эти шестнадцатеричные числа:

0xAF2B, и мне нужно вычислить младший и старший порядковый номер.

Я получил такую ​​память: a;а + 1;а + 2;а + 3.

Можете ли вы сказать, если это правильно?

0xAF2B

  1. Little Endian: a = 2B, a + 1 = AF, a + 2 =00, a + 3 = 00

  2. Big Endian: a = AF, a + 1 = 2B, a + 2 = 00, a + 3 = 00

1 Ответ

0 голосов
/ 27 февраля 2019

Little endian - это правильно.Но большой порядок байтов неверен.

Ваши числа, кажется, имеют 4 байта, а на 4 байтах ваше число равно 0x00.00. AF.2B

Следовательно, на компьютере с прямым порядком байтов расположение байтов в памяти будет

a=0     MSB (big) comes first       
a+1=0  
a+2=AF  
a+3=2B  LSB last
...