Je suis tombé ici par hasard via Google et j'ai obtenu la réponse que Java est grand endian .
En lisant les réponses, j'aimerais signaler que les octets ont effectivement un ordre endian, bien que, heureusement, si vous n'avez eu affaire qu'à des microprocesseurs "grand public", il est peu probable que vous ayez jamais rencontré ce problème. En effet, Intel, Motorola et Zilog se sont tous mis d'accord sur le sens de décalage de leurs puces UART et le MSB d'un octet est le suivant 2**7
et le LSB serait 2**0
dans leurs processeurs (j'ai utilisé la notation de puissance FORTRAN pour souligner l'ancienneté de ces données :) ).
J'ai rencontré ce problème avec certaines données de liaison descendante en série de la navette spatiale il y a plus de 20 ans lorsque nous avons remplacé un matériel d'interface de 10 000 $ par un ordinateur Mac. Un dossier technique de la NASA a été publié à ce sujet il y a longtemps. J'ai simplement utilisé une table de consultation de 256 éléments avec les bits inversés ( table[0x01]=0x80
etc.) après que chaque octet ait été décalé du flux binaire.
6 votes
Voici mon moyen mnémotechnique pour ne pas oublier : Java n'étant pas un matériel mais plutôt virtuel, c'est le langage de l'internet. Le site ordre des octets du réseau est grand endian . Par conséquent, Java est grand endian .