Outil pour décoder/encoder en code BCD (binary coded decimal, DBC) des nombres entiers sur 4 bits, surtout en électronique.
Code BCD (Binary Coded Decimal) - dCode
Catégorie(s) : Electronique
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 !
Le code BCD (pour binary coded decimal) ou DBC (décimal codé en binaire) est un système d'encodage utilisé en électronique et en informatique pour stocker des nombres décimaux en encodant leurs chiffres sur 4 bits (0 ou 1).
Le code BCD (binary coded decimal) ou DCB (décimal codé binaire) consiste à remplacer directement les chiffres 0, 1, 2, …, 9 par leurs valeurs en binaire (sur 4 bits) :
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
Exemple : Coder 123, c'est remplacer 1 par 0001, 2 par 0010 et 3 par 0011, donc 123 se code 0001 0010 0011 en BCD
En informatique, le stockage se fait généralement sur 8 bits, et stocker du BCD 4 bits sur 1 octet (8 bits) se fait en complétant avec des 0 ou des 1 (recommandé) au début (stockage appelé BCD étendu/extended, utilisé notamment par EBCDIC)
Exemple : Le stockage de 123 en BCD étendu est 11110001 11110010 11110011 (complété avec 1111 au début de l'octet)
Pour ne pas perdre de place, il existe le code BCD condensé (packed BCD) qui stocke 2 chiffres de 4 bits sur un octet de 8 bits. En plus, le BCD condensé utilise les 6 combinaisons de 4 bits restantes non utilisées (A,B,C,D,E,F en hexadécimal) pour coder les signes + et -
+ | 1010 | A |
- | 1011 | B |
+ | 1100 | C |
- | 1101 | D |
+ | 1110 | E |
(non signé) | 1111 | F |
Exemple : Le stockage de 123 en packed BCD est 00010010 00111100 (complété avec + 1100 à la fin si le nombre de chiffres est impair)
Il y a plusieurs façons de coder + et - car plusieurs variantes du BCD ont été proposées par les fabricants d'ordinateurs comme IBM ou Burroughs.
La conversion depuis BCD remplace les groupes de 4 bits (code BCD condensé, le plus courant) par le chiffre décimal correspondant
Exemple : 0001 0010 0011 se décode 1,2,3
Si le code est le BCD étendu, les 4 premiers bits binaires de chaque octet peuvent être ignorés.
Le code BCD est identique au code binaire pour le codage des chiffres entre 0 et 9. Au delà, dès qu'il s'agit d'encoder des nombres, ils diffèrent.
Exemple : 10 se code 00010000 en BCD et 00001010 en binaire.
Le message a un nombre de bit multiple de 4.
Les groupes 1010,1011,1100,1101,1110 sont minoritaires et 1111 quasi inexistants (sauf BCD étendu).
Certains systèmes utilisent 1100 pour + et 1101 pour -
Exemple : -5 s'écrit alors 1101 0101
Pour écrire/convertir un nombre non entier (flottant) il existe différentes approches.
La méthode la plus répandue est d'utiliser les nombre à virgule fixe où la position du point est fixée a priori.
Exemple : Il est décidé que les nombres sont stockés avec 2 chiffres après la virgule, alors une valeur BCD 123 se lira alors 1.23
Une autre méthode est utilisée sur certains systèmes qui se servent d'une des valeurs non chiffres (comme 1100,1101 ou 1110) pour stocker la position du point.
Le BCD est très utilisé en électronique pour le stockage ou l'affichage de valeur numérique. La conversion étant facile, ne nécessitant pas de processeur et se rapprochant des périphériques comme les afficheurs 7 segments.
Un autre exemple est le stockage des Dates dans le BIOS d'une carte mère en BCD, encore aujourd'hui.
Egalement le format DECIMAL des champs de certaines bases de données peut utiliser ce codage BCD.
Les valeurs non utilisées sont 1010, 1011, 1100, 1101, 1110, 1111
Les premiers usages du BCD datent d'une période entre 1950 et 1960
dCode se réserve la propriété du code source pour "Code BCD (Binary Coded Decimal)". Tout algorithme pour "Code BCD (Binary Coded Decimal)", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Code BCD (Binary Coded Decimal)" (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 à "Code BCD (Binary Coded Decimal)" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). 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 "Code BCD (Binary Coded Decimal)" 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.
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 : Code BCD (Binary Coded Decimal) sur dCode.fr [site web en ligne], consulté le 15/04/2025,