No meu programa eu estou armazenando o valor 512 no tipo 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));
}
o / p >
c:3493911684 0
c:3493911685 2
c:3493911686 0
c:3493911687 0
Explicação: 512 = 1000000000 = > 00000010 0000000 = > 02 00.ie 00 00 02 00.que aqui MSB
e LSB = 00.Em uma máquina LE, o LSB deve ser colocado na memória mais baixa.
colocar para o programa acima deve ser 00,02,00,00 e que é o que eu tenho como uma saída
Mas enquanto interpreta como é que faz exatamente 512. faz qualquer cálculo em
registros.Pode algum corpo dar alguma entrada para isso?
2ª pergunta é que a transmissão dos bytes na rede é independente da
endianess da máquina ou a transmissão também ter o mesmo pedido como armazenar
dizer por exemplo em LE para armazenar nós seguimos (LSB primeiro, depois MSB) então para
transmitindo também segue byte LSB primeiro e depois MSB.