Re: [DICO] Little|big endian
On Tue, May 20, 2003 at 06:05:40PM +0200, Martin Quinson wrote:
> Dans les ordinateurs, les nombres sont stockees en binaire. Tout le monde
> sait bien que par exemple, 12 sera stocke comme 110 (car 12=8+4= 2^3 + 2^2)
> Mais il existe deux grandes familles d'architectures d'ordinateurs : celles
> qui lisent les bits de gauche a droite (donc 12=110) et celle qui lisent de
> droite a gauche (donc 12=011).
>
> En anglais, on designe la premiere famille par "big-endian" car les bits de
> poids fort (de grande valeur) arrivent en premier, tandis que la seconde
> famille est nommee "little-endian" pour des raisons similaires.
Une petite précision quand même,
"The Free On-line Dictionary of Computing" dit:
big-endian:
A computer architecture in which, within a given multi-byte numeric
representation, the most significant byte has the lowest address (the
word is stored "big-end-first").
Ce ne sont donc pas les bits mais les octets qui sont mis de droite à
gauche ou de gauche à droite.
La plupart des processeurs motorola et risc sont gros boutiens
les intel sont petit boutiens.
Pour voir un exemple, il vaut mieux le noter en Hexadécimal:
soit un entier sur 16 bits (short int pour certains compilateurs)
en hexa: A6F9 (= 42745)mettons... il y a 2 octets:
A6 poids fort
F9 poids faible
Sur un gros boutien, sur 2 octets mémoire consécutifs d'adresse
n et n+1, on mettra donc A6 à l'adresse n et F9 à l'adresse n+1.
Évidemment sur un petit boutien on ferait l'inverse:
F9 en n et A6 en n+1.
Ceci est important dans la mesure où l'on fait communiquer les
ordinateurs. Il y a donc un standard pour les réseaux, appelé "network
order" qui est synonyme de big-endian. Tous les logiciels concernés
par un accès reseau sont donc contraints de faire les conversions
si nécessaire.
Et re-hop!
Lucien
Reply to: