[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: