Outil pour convertir, encoder et décoder des nombres en Little Endian et Big Endian, visualiser l'ordre des octets et comprendre la représentation mémoire.
Little/Big Endian - dCode
Catégorie(s) : Informatique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
l'Endianness (Boutisme) (Little/Big Endian ou Petit/Gros Boutisme) sont deux conventions d'ordonnancement des octets (byte order) utilisées pour représenter des entiers multi-octets en mémoire ou lors de transmissions de données.
Soit un entier codé sur $ n $ octets. En Big Endian, l'octet de poids fort (MSB) est stocké à l'adresse mémoire la plus basse. En Little Endian, c'est l'octet de poids faible (LSB) qui est stocké à l'adresse mémoire la plus basse.
Exemple : Avec $ \texttt{0x12345678} $ (sur 4 octets) :
Big Endian (ordre mémoire croissant) : $ 12\ 34\ 56\ 78 $
Little Endian (ordre mémoire croissant) : $ 78\ 56\ 34\ 12 $
Il est important de noter que l'ordre des bits à l'intérieur d'un octet ne change pas, seule la position des octets est modifiée.
Pour encoder un entier en Little Endian :
Écrire l'entier en base $ 256 $, c'est-à-dire comme une somme d'octets : $$ N = \sum_{i=0}^{n-1} b_i \times 256^i $$
Chaque $ b_i $ correspond à un octet avec $ 0 \leq b_i < 256 $.
Écrire les octets dans l'ordre croissant des indices $ i $ (du poids faible vers le poids fort).
Exemple : $ 305450479 = 18 \times 256^3 + 52 \times 256^2 + 205 \times 256 + 239 $, soit un encodage Little Endian : $ \texttt{efcd3412} $ (NB: $ 239_{(10)} = \texttt{ef}_{(16)} $)
Pour encoder un entier en Big Endian :
Écrire l'entier en base $ 256 $, c'est-à-dire comme une somme d'octets : $ N = \sum_{i=0}^{n-1} b_i \times 256^i $
Chaque $ b_i $ correspond à un octet avec $ 0 \leq b_i < 256 $.
Écrire les octets dans l'ordre décroissant des indices $ i $ (du poids fort vers le poids faible).
Exemple : $ 305450479 = 18 \times 256^3 + 52 \times 256^2 + 205 \times 256 + 239 $, soit un encodage Little Endian : $ \texttt{1234cdef} $ (NB: $ 18_{(10)} = 12_{(16)} $)
Pour décoder une séquence d'octets en Little Endian :
Noter les octets $ b_0, b_1, \dots, b_{n-1} $ dans l'ordre de lecture (du poids faible vers le poids fort).
Calculer : $ N = \sum_{i=0}^{n-1} b_i \times 256^i $
Exemple : $ \texttt{efcd3412} = 239 + 205 \times 256 + 52 \times 256^2 + 18 \times 256^3 = 305450479 $
Pour décoder une séquence d'octets en Big Endian :
Noter les octets $ b_0, b_1, \dots, b_{n-1} $ dans l'ordre de lecture (du poids fort vers le poids faible).
Calculer : $ N = \sum_{i=0}^{n-1} b_i \times 256^{n-1-i} $
Exemple : $ \texttt{1234cdef} = 18 \times 256^3 + 52 \times 256^2 + 205 \times 256 + 239 = 305450479 $
L'existence de ces deux conventions provient de choix d'architecture historiques et techniques.
Certaines architectures matérielles utilisent le Little Endian (comme x86), tandis que d'autres supportent le Big Endian ou les deux (certaines architectures ARM sont bi-endian).
Le Little Endian simplifie certaines opérations arithmétiques sur des entiers de taille variable, car l'octet de poids faible est accessible directement à l'adresse de base, ce qui facilite la propagation des retenues.
Le Big Endian correspond davantage à l'ordre de représentation usuel des nombres en écriture positionnelle (chiffres les plus significatifs en premier), ce qui peut faciliter l'inspection humaine et certaines comparaisons lexicographiques.
Dans les réseaux, une convention unique appelée 'network byte order' (Big Endian) est utilisée afin de garantir l'interopérabilité entre systèmes hétérogènes.
dCode se réserve la propriété du code source pour "Little/Big Endian". Tout algorithme pour "Little/Big Endian", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Little/Big Endian" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Little/Big Endian" ou tout autre élément ne sont pas publics (sauf licence open source explicite). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Little/Big Endian" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source (Licence de libre diffusion Creative Commons CC-BY).
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Little/Big Endian sur dCode.fr [site web en ligne], consulté le 23/04/2026,