Convertisseurs

Conversion binaire vers octal : guide complet avec tableau, exemples et code

Apprenez à convertir le binaire en octal avec la méthode de groupement par 3 bits. Inclut une table de conversion complète (0-255), des exemples pas à pas, du code Python/JavaScript/C et des applications pratiques dans les permissions Unix.

Publié sur 19 mars 2026
11 min lire
Guides CaesarCipher.org

Conversion binaire vers octal : guide complet avec tableau, exemples et code

La conversion binaire-vers-octal est l'une des opérations les plus propres en arithmétique des systèmes numériques. Comme l'octal est en base 8 et que 8 est une puissance exacte de 2 (2³ = 8), chaque chiffre octal correspond exactement à trois bits binaires. Aucun arrondi, aucun reste, aucune division longue compliquée : seulement une substitution directe et mécanique. Cette relation a fait de l'octal une notation favorite dans l'informatique ancienne, et il reste essentiel aujourd'hui pour toute personne qui travaille avec les permissions de fichiers Unix/Linux, des bases de code héritées ou des systèmes embarqués.

Ce guide couvre toute la théorie et la pratique de la conversion binaire-vers-octal. Vous apprendrez pourquoi la conversion fonctionne, comment l'effectuer à la main, comment gérer les cas limites comme les chaînes binaires de longueur impaire, et comment écrire du code qui le fait pour vous. Essayez notre convertisseur binaire vers octal gratuit pour suivre les exemples ci-dessous.

Aperçu des systèmes numériques

Avant d'entrer dans la conversion elle-même, il est utile de comprendre les quatre systèmes numériques que les programmeurs rencontrent le plus souvent.

Binaire (base 2)

Le binaire n'utilise que deux symboles : 0 et 1. Tout ordinateur numérique repose sur la logique binaire, car les transistors fonctionnent avec deux états, activé et désactivé. Même si le binaire est le langage natif du matériel, il est verbeux pour les humains : le nombre décimal 255 nécessite huit chiffres binaires (11111111).

Octal (base 8)

L'octal utilise huit symboles : 0 à 7. Chaque chiffre octal représente exactement trois bits binaires, ce qui en fait un raccourci compact pour les données binaires. L'octal était particulièrement populaire sur les systèmes avec des mots de 12, 24 et 36 bits, où la taille de mot se divise exactement par trois.

Décimal (base 10)

Le décimal utilise dix symboles : 0 à 9. C'est le système dans lequel les humains grandissent et qu'ils utilisent au quotidien. Cependant, le décimal ne s'aligne pas proprement avec le binaire, car il n'existe pas d'entier n tel que 10 = 2^n, ce qui impose une division répétée pour convertir du décimal vers le binaire.

Hexadécimal (base 16)

L'hexadécimal utilise seize symboles : 0-9 et A-F. Chaque chiffre hex correspond exactement à quatre bits binaires (puisque 16 = 2^4). L'hex domine l'informatique moderne pour les adresses mémoire, codes couleur et l'inspection de données au niveau octet. Pour la conversion hex-vers-binaire, consultez notre guide hex vers binaire.

Pourquoi le binaire et l'octal sont directement liés

L'idée clé derrière la conversion binaire-vers-octal est un fait mathématique simple : 8 = 2³. Comme la base octale est une puissance exacte de la base binaire, chaque chiffre octal correspond à un nombre fixe de chiffres binaires, précisément trois.

Cela signifie :

  • Chiffre octal 0 = binaire 000
  • Chiffre octal 1 = binaire 001
  • Chiffre octal 7 = binaire 111

Chaque combinaison possible de trois bits binaires (il y en a exactement 2³ = 8) correspond à l'un des huit chiffres octaux. Ce n'est ni une coïncidence ni une approximation. C'est une relation structurelle exacte entre les deux systèmes numériques.

Comparez avec le décimal : convertir du binaire en décimal demande de l'arithmétique positionnelle, car 10 n'est pas une puissance de 2. Convertir du binaire en octal ne demande que du groupement et de la substitution.

Le même principe s'applique à l'hexadécimal (16 = 2^4, donc chaque chiffre hex = 4 bits), mais pas à des bases comme 5 ou 12, qui n'ont pas de relation propre avec les puissances de deux.

La méthode de groupement par 3 bits étape par étape

Convertir du binaire en octal est un processus mécanique en trois étapes.

Étape 1 : partir de la droite et former des groupes de 3 bits

Prenez le nombre binaire et, en commençant par le bit le plus à droite (le moins significatif), divisez-le en groupes de trois.

Par exemple, le nombre binaire 110101011 :

1 | 101 | 011    (grouped from right)

Étape 2 : compléter le groupe le plus à gauche avec des zéros

Si le groupe le plus à gauche contient moins de trois bits, ajoutez des zéros à gauche pour le compléter. Cela ne change pas la valeur du nombre.

001 | 101 | 011    (padded)

Étape 3 : remplacer chaque groupe de 3 bits par son chiffre octal

Utilisez la table de conversion (fournie dans la section suivante) pour remplacer chaque groupe :

  • 001 = 1
  • 101 = 5
  • 011 = 3

Résultat : binaire 110101011 = octal 153

C'est tout l'algorithme. Pas de division, pas d'arithmétique modulaire, pas de retenue : seulement groupement, remplissage et substitution.

Table de référence rapide 3 bits (000-111)

C'est la table de correspondance essentielle à mémoriser pour la conversion binaire-vers-octal. Elle ne contient que huit entrées :

BinaireOctalDécimal
00000
00111
01022
01133
10044
10155
11066
11177

Comme les chiffres octaux vont de 0 à 7, cette table est exhaustive. Une fois ces huit correspondances intégrées, vous pouvez convertir n'importe quel nombre binaire en octal à la main en quelques secondes.

Exemples détaillés

Exemple 1 : binaire court (6 bits)

Entrée binaire : 101110

Étape 1 : grouper depuis la droite : 101 | 110

Étape 2 : les deux groupes ont déjà 3 bits. Aucun remplissage nécessaire.

Étape 3 : convertir :

  • 101 = 5
  • 110 = 6

Résultat : octal 56 (décimal 46)

Exemple 2 : octet complet (8 bits)

Entrée binaire : 11010110

Étape 1 : grouper depuis la droite : 11 | 010 | 110

Étape 2 : compléter le groupe de gauche : 011 | 010 | 110

Étape 3 : convertir :

  • 011 = 3
  • 010 = 2
  • 110 = 6

Résultat : octal 326 (décimal 214)

Remarquez qu'un octet (8 bits) produit toujours deux ou trois chiffres octaux, car 8 n'est pas divisible par 3. C'est l'une des raisons pour lesquelles l'hexadécimal (où un octet = exactement deux chiffres hex) est devenu plus populaire que l'octal pour les architectures orientées octets.

Exemple 3 : binaire de longueur impaire (5 bits)

Entrée binaire : 10011

Étape 1 : grouper depuis la droite : 10 | 011

Étape 2 : compléter : 010 | 011

Étape 3 : convertir :

  • 010 = 2
  • 011 = 3

Résultat : octal 23 (décimal 19)

Exemple 4 : binaire long (16 bits)

Entrée binaire : 1100100111010110

Étape 1 : grouper depuis la droite : 1 | 100 | 100 | 111 | 010 | 110

Étape 2 : compléter : 001 | 100 | 100 | 111 | 010 | 110

Étape 3 : convertir :

  • 001 = 1
  • 100 = 4
  • 100 = 4
  • 111 = 7
  • 010 = 2
  • 110 = 6

Résultat : octal 144726 (décimal 51 670)

Exemple 5 : tous les bits à 1

Entrée binaire : 111111111 (neuf bits à 1)

Étape 1 : grouper : 111 | 111 | 111

Étape 2 : aucun remplissage nécessaire (déjà aligné).

Étape 3 : convertir : 111 = 7, 111 = 7, 111 = 7

Résultat : octal 777 (décimal 511)

Cette valeur est significative dans les permissions Unix : chmod 777 accorde les permissions lecture, écriture et exécution au propriétaire, au groupe et aux autres.

Table de conversion étendue (0-127)

Le tableau suivant liste les valeurs binaires, octales et décimales pour les nombres 0 à 127. Il couvre toute la plage ASCII 7 bits et les valeurs les plus courantes.

DécimalBinaireOctalDécimalBinaireOctal
0000 00000641 000 000100
1000 00101651 000 001101
2000 01002661 000 010102
3000 01103671 000 011103
4000 10004681 000 100104
5000 10105691 000 101105
6000 11006701 000 110106
7000 11107711 000 111107
8001 00010721 001 000110
9001 00111731 001 001111
10001 01012741 001 010112
11001 01113751 001 011113
12001 10014761 001 100114
13001 10115771 001 101115
14001 11016781 001 110116
15001 11117791 001 111117
16010 00020801 010 000120
17010 00121811 010 001121
18010 01022821 010 010122
19010 01123831 010 011123
20010 10024841 010 100124
21010 10125851 010 101125
22010 11026861 010 110126
23010 11127871 010 111127
24011 00030881 011 000130
25011 00131891 011 001131
26011 01032901 011 010132
27011 01133911 011 011133
28011 10034921 011 100134
29011 10135931 011 101135
30011 11036941 011 110136
31011 11137951 011 111137
32100 00040961 100 000140
33100 00141971 100 001141
34100 01042981 100 010142
35100 01143991 100 011143
36100 100441001 100 100144
37100 101451011 100 101145
38100 110461021 100 110146
39100 111471031 100 111147
40101 000501041 101 000150
41101 001511051 101 001151
42101 010521061 101 010152
43101 011531071 101 011153
44101 100541081 101 100154
45101 101551091 101 101155
46101 110561101 101 110156
47101 111571111 101 111157
48110 000601121 110 000160
49110 001611131 110 001161
50110 010621141 110 010162
51110 011631151 110 011163
52110 100641161 110 100164
53110 101651171 110 101165
54110 110661181 110 110166
55110 111671191 110 111167
56111 000701201 111 000170
57111 001711211 111 001171
58111 010721221 111 010172
59111 011731231 111 011173
60111 100741241 111 100174
61111 101751251 111 101175
62111 110761261 111 110176
63111 111771271 111 111177

Vous pouvez vérifier n'importe laquelle de ces valeurs avec notre convertisseur binaire vers octal.

Reconvertir l'octal en binaire

Le processus inverse, octal vers binaire, est tout aussi simple. Remplacez simplement chaque chiffre octal par son équivalent binaire sur 3 bits.

Processus inverse étape par étape

  1. Écrivez le nombre octal. Retirez toute notation de préfixe (comme un 0 initial en C/C++ ou 0o en Python).
  2. Remplacez chaque chiffre octal par sa valeur binaire sur 3 bits. Utilisez la même table de 8 entrées ci-dessus.
  3. Concaténez les groupes. Le résultat est la représentation binaire complète.
  4. Supprimez les zéros en tête (facultatif) pour obtenir la forme binaire minimale.

Exemple : octal 375 vers binaire

Entrée octale : 375

  • 3 = 011
  • 7 = 111
  • 5 = 101

Résultat : 011111101 ou, en retirant le zéro de tête, 11111101 (décimal 253)

Exemple : octal 52 vers binaire

Entrée octale : 52

  • 5 = 101
  • 2 = 010

Résultat : 101010 (décimal 42)

Cette simplicité bidirectionnelle découle directement de la relation 2³ = 8. La conversion est sans perte, exacte et ne demande aucune arithmétique.

Exemples de programmation

Python

Python fournit une prise en charge intégrée de l'octal et du binaire :

# Basic binary to octal conversion
binary_str = "110101011"
decimal_value = int(binary_str, 2)
octal_str = oct(decimal_value)  # '0o653'

# Clean output (no prefix)
clean_octal = oct(decimal_value)[2:]  # '653'

# One-liner
def bin_to_oct(b):
    return oct(int(b, 2))[2:]

# Using the 3-bit grouping method manually
def bin_to_oct_manual(binary):
    # Pad to multiple of 3
    while len(binary) % 3 != 0:
        binary = '0' + binary
    # Group and convert
    octal = ''
    for i in range(0, len(binary), 3):
        group = binary[i:i+3]
        octal += str(int(group, 2))
    return octal

print(bin_to_oct_manual("110101011"))  # '653'
print(bin_to_oct_manual("11111111"))   # '377'

JavaScript

JavaScript utilise parseInt() et .toString() pour les conversions de base :

// Basic binary to octal conversion
const binary = "110101011";
const octal = parseInt(binary, 2).toString(8);  // '653'

// Function with input validation
function binaryToOctal(bin) {
  if (!/^[01]+$/.test(bin)) {
    throw new Error("Invalid binary string");
  }
  return parseInt(bin, 2).toString(8);
}

// Manual 3-bit grouping method
function binaryToOctalManual(binary) {
  // Pad to multiple of 3
  while (binary.length % 3 !== 0) {
    binary = "0" + binary;
  }
  let octal = "";
  for (let i = 0; i < binary.length; i += 3) {
    const group = binary.substring(i, i + 3);
    octal += parseInt(group, 2).toString();
  }
  return octal;
}

console.log(binaryToOctalManual("110101011"));  // '653'
console.log(binaryToOctalManual("111101101"));  // '755'

C

C demande une approche manuelle puisqu'il n'existe pas de conversion de base intégrée pour les chaînes :

#include <stdio.h>
#include <string.h>

void binaryToOctal(const char *binary) {
    int len = strlen(binary);

    // Calculate padding needed for multiple of 3
    int padding = (3 - (len % 3)) % 3;
    int totalLen = len + padding;

    // Create padded binary string
    char padded[65];
    memset(padded, '0', padding);
    strcpy(padded + padding, binary);

    // Convert each 3-bit group
    printf("Binary %s = Octal ", binary);
    for (int i = 0; i < totalLen; i += 3) {
        int value = (padded[i] - '0') * 4
                  + (padded[i+1] - '0') * 2
                  + (padded[i+2] - '0');
        printf("%d", value);
    }
    printf("\n");
}

int main() {
    binaryToOctal("110101011");   // Octal 653
    binaryToOctal("111101101");   // Octal 755
    binaryToOctal("11111111");    // Octal 377
    binaryToOctal("1");           // Octal 1
    return 0;
}

Les trois implémentations produisent des résultats identiques. La méthode manuelle par groupement reflète exactement ce que vous faites à la main, tandis que les fonctions intégrées (oct() en Python, .toString(8) en JavaScript) gèrent le groupement en interne.

Application pratique : permissions de fichiers Unix/Linux

L'usage quotidien le plus visible des nombres octaux en informatique moderne est celui des permissions de fichiers Unix/Linux. Si vous avez déjà tapé chmod 755 script.sh dans un terminal, vous avez utilisé la conversion binaire-vers-octal, que vous l'ayez remarqué ou non.

Fonctionnement des permissions Unix

Chaque fichier et répertoire dans un système de type Unix possède trois ensembles de permissions :

  • Owner (utilisateur qui a créé le fichier)
  • Group (utilisateurs du groupe du fichier)
  • Others (tous les autres)

Chaque ensemble possède trois indicateurs de permission :

PermissionSymboleBit binaireValeur
Readr14
Writew12
Executex11

Chaque ensemble de trois permissions correspond exactement à 3 bits binaires, qui correspondent exactement à un chiffre octal. Ce n'est pas une coïncidence : l'octal a été choisi précisément parce qu'il s'aligne parfaitement avec les groupes de permissions sur 3 bits.

Décoder chmod 755

Le nombre octal 755 se décompose ainsi :

QuiOctalBinairePermissionsSignification
Owner7111rwxRead + Write + Execute
Group5101r-xRead + Execute
Others5101r-xRead + Execute

Ainsi, chmod 755 définit le masque de permissions binaire complet à 111 101 101, accordant le contrôle complet au propriétaire tout en permettant aux autres de lire et exécuter sans modifier le fichier.

Valeurs de permissions courantes

OctalBinaireSymboliqueUsage typique
777111 111 111rwxrwxrwxAccès complet pour tous (risqué)
755111 101 101rwxr-xr-xScripts exécutables, répertoires
750111 101 000rwxr-x---Exécutables accessibles au groupe
700111 000 000rwx------Exécutables privés
644110 100 100rw-r--r--Fichiers ordinaires (contenu web)
600110 000 000rw-------Fichiers privés (clés SSH)
400100 000 000r--------Lecture seule (certificats)

Comprendre la conversion binaire-vers-octal rend les valeurs chmod intuitives plutôt que mystérieuses.

L'octal dans l'histoire de l'informatique et ses usages modernes

Importance historique

La notation octale dominait les débuts de l'informatique pour une raison pratique : de nombreux premiers ordinateurs utilisaient des tailles de mots multiples de trois. Le PDP-8 (mots de 12 bits), l'UNIVAC 1108 (mots de 36 bits) et l'IBM 7090 (mots de 36 bits) avaient tous des architectures où l'octal était la notation compacte naturelle. Un mot de 12 bits correspond proprement à quatre chiffres octaux. Un mot de 36 bits correspond à douze chiffres octaux.

Le préfixe octal 0 du langage C est un héritage direct de cette époque : Ken Thompson et Dennis Ritchie ont développé C sur un PDP-11, et la notation octale était standard aux Bell Labs. Cette convention persiste encore dans C, C++, Java et d'autres langages (par exemple, 0755 en C est l'octal 755, décimal 493).

Pourquoi l'hex a largement remplacé l'octal

Le passage de l'octal à l'hexadécimal s'est produit lorsque l'industrie s'est standardisée autour des octets de 8 bits. Comme 8 n'est pas divisible par 3, un octet ne correspond pas proprement à un nombre entier de chiffres octaux (il faut 2,67 chiffres octaux). En revanche, un octet correspond exactement à deux chiffres hex. À mesure que les architectures adressables par octet (Intel 8080, Zilog Z80, Motorola 68000) sont devenues dominantes, l'hexadécimal est devenu la notation privilégiée.

Où l'octal est encore utilisé aujourd'hui

Malgré la domination de l'hexadécimal, l'octal reste pertinent dans plusieurs domaines :

  • Permissions de fichiers Unix/Linux : chmod, umask et stat utilisent l'octal
  • Littéraux octaux C/C++ : tout littéral entier avec un 0 en tête (par exemple 0755) est interprété comme octal
  • Littéraux octaux Python : le préfixe 0o (par exemple 0o755)
  • Séquences d'échappement : certains langages utilisent \nnn (octal) pour les échappements de caractères
  • Codes de transpondeur aviation : les codes squawk des avions sont des nombres octaux à quatre chiffres (0000-7777)
  • Systèmes hérités : le code et la documentation mainframe des années 1960-1970 utilisent souvent l'octal

Foire aux questions

Comment convertir le binaire en octal ?

Regroupez les chiffres binaires par ensembles de trois de droite à gauche, en complétant le groupe le plus à gauche avec des zéros si nécessaire. Remplacez ensuite chaque groupe de 3 bits par son équivalent octal (000=0, 001=1, 010=2, 011=3, 100=4, 101=5, 110=6, 111=7). Par exemple, le binaire 11010110 se groupe en 011 010 110, ce qui donne l'octal 326.

Pourquoi la conversion binaire-vers-octal utilise-t-elle des groupes de 3 ?

Parce que 8 = 2³. La base octale (8) est la troisième puissance de la base binaire (2), ce qui signifie qu'exactement trois bits binaires sont nécessaires pour représenter toutes les valeurs possibles d'un chiffre octal (0 à 7). Cette relation mathématique rend la conversion directe, sans arithmétique.

Que vaut le binaire 11111111 en octal ?

Le binaire 11111111 (décimal 255) se convertit en octal 377. Groupement depuis la droite : 011 111 111, ce qui donne 3-7-7. C'est la valeur maximale d'un octet en notation octale.

Comment gérer les nombres binaires dont la longueur n'est pas un multiple de 3 ?

Complétez le groupe le plus à gauche avec des zéros. Par exemple, le binaire 10011 a 5 chiffres. Groupé depuis la droite : 10 011. Groupe gauche complété : 010 011. Conversion : 2-3. Le résultat est octal 23. Ajouter des zéros en tête ne change pas la valeur numérique.

Quelle est la différence entre octal et hexadécimal ?

L'octal est en base 8 (chiffres 0-7) et chaque chiffre représente 3 bits binaires. L'hexadécimal est en base 16 (chiffres 0-9, A-F) et chaque chiffre représente 4 bits binaires. L'hex est plus courant en informatique moderne parce qu'il s'aligne avec les octets de 8 bits (2 chiffres hex = 1 octet), tandis que l'octal reste utilisé pour les permissions de fichiers Unix et les systèmes hérités.

Pourquoi chmod utilise-t-il des nombres octaux ?

Chaque ensemble de permissions de fichier (propriétaire, groupe, autres) contient trois indicateurs binaires : lecture (r), écriture (w) et exécution (x). Trois indicateurs binaires correspondent directement à un chiffre octal (puisque 2³ = 8). Cela fait de l'octal la notation la plus naturelle et compacte pour exprimer les permissions Unix. Par exemple, rwxr-xr-x = 111 101 101 = 755 en octal.

Peut-on convertir l'octal en binaire directement ?

Oui : remplacez simplement chaque chiffre octal par son équivalent binaire sur 3 bits. L'octal 47 devient 100 111 (binaire). Le processus est l'inverse exact de la conversion binaire-vers-octal et il est tout aussi mécanique. Aucune division ni multiplication n'est nécessaire.

Que valent l'octal 777 en binaire et en décimal ?

L'octal 777 vaut le binaire 111 111 111 (neuf bits à 1) et le décimal 511. Dans les permissions Unix, chmod 777 accorde les permissions complètes lecture, écriture et exécution au propriétaire, au groupe et à tous les autres utilisateurs.

Résumé

La conversion binaire-vers-octal repose sur un fait fondamental : 8 = 2³, donc chaque chiffre octal correspond exactement à trois bits binaires. Que vous convertissiez une valeur de 3 bits ou une adresse de 64 bits, l'algorithme est toujours le même : grouper par trois depuis la droite, compléter le groupe le plus à gauche et substituer.

Points clés de ce guide :

  • Regroupez les chiffres binaires en blocs de 3 bits depuis la droite et remplacez chaque groupe par son chiffre octal (000-111 correspond à 0-7)
  • Complétez le groupe le plus à gauche avec des zéros si le nombre total de bits n'est pas un multiple de trois
  • Les permissions de fichiers Unix sont l'usage moderne le plus courant de l'octal, chaque triplet rwx correspondant à un chiffre octal
  • Les langages de programmation fournissent des conversions intégrées : oct(int(x, 2)) en Python, parseInt(x, 2).toString(8) en JavaScript, et groupement manuel en C
  • La conversion inverse (octal vers binaire) remplace chaque chiffre octal par sa valeur binaire sur 3 bits
  • L'octal dominait historiquement sur les systèmes dont les tailles de mots étaient divisibles par 3, mais l'hexadécimal a pris le relais avec la standardisation des octets de 8 bits

Prêt à pratiquer ? Utilisez notre convertisseur binaire vers octal gratuit pour convertir instantanément n'importe quelle valeur binaire en octal, avec visualisation étape par étape des groupes de 3 bits et remplissage automatique.

À propos de cet article

Cet article fait partie de notre collection de guides Convertisseurs. Explorez les outils, exemples et workflows pratiques associés sur CaesarCipher.org.

Autres Tutoriels Convertisseurs

Essayez l'outil Convertisseurs

Mettez le guide en pratique avec des outils et exemples liés à convertisseurs.

Essayez l'outil Convertisseurs