В моей программе я сохраняю значение 512 в типе int.
#include <stdio.h>
int main()
{
unsigned int i = 512 ;
char *c = (char*)&i;
printf("c:%u %d\n",c,*c);
printf("c:%u %d\n",c+1,*(c+1));
printf("c:%u %d\n",c+2,*(c+2));
printf("c:%u %d\n",c+3,*(c+3));
}
о / р>
c:3493911684 0
c:3493911685 2
c:3493911686 0
c:3493911687 0
Пояснение:512 = 1000000000 => 00000010 0000000 => 02 00.ie 00 00 02 00. поэтому здесь MSB и LSB = 00.В LE машине LSB должен быть размещен в нижней памяти.Следовательно возможный выход для вышеупомянутой программы должен быть 00,02,00,00, и это - то, что я получил как вывод.Но, интерпретируя, как это точно делает 512. делает ли он какие-либо вычисления в регистрах.Может ли какой-либо орган дать какой-то вклад в это?
2-й вопрос: является ли передача байтов в сети независимой от порядкового номера машины или передача тоже занимает тот же порядок, что и при хранении?скажем, например, в LE для хранения мы следуем (сначала LSB, затем MSB), поэтому для передачи он также следует за младшим байтом LSB, а затем MSB.