Code binaire
Un code binaire représente un texte, des instructions de processeur ou toute autre donnée utilisant un système à deux symboles. Le système à deux symboles utilise souvent des "0" et "1" dans le système de numération binaire. Le code binaire assigne une combinaison de chiffres binaires, également appelé bits, à chaque caractère, instruction, etc. Par exemple, une chaîne binaire de huit bits peut représenter n'importe laquelle des 255 valeurs possibles et, par conséquent, représenter une grande variété d'éléments différents.
En informatique et en télécommunications, les codes binaires sont utilisés pour diverses méthodes de codage de données, telles que des chaînes de caractères, en chaînes de bits. Ces méthodes peuvent utiliser des chaînes à largeur fixe ou à largeur variable. Dans un code binaire à largeur fixe, chaque lettre, chiffre ou autre caractère est représenté par une chaîne de bits de même longueur; cette chaîne de bits, interprétée comme un nombre binaire , est généralement affichée dans les tables de codes en notation octale, décimale ou hexadécimale. Il existe de nombreux jeux de caractères et de nombreux codages de caractères pour ceux-ci.
Une chaîne de bits, interprétée comme nombre binaire, peut être traduite en nombre décimal. Par exemple, la lettre minuscule a, si elle est représentée par la chaîne de bits 01100001
(comme dans le code ASCII standard), peut également être représentée par le nombre décimal "97".
Histoire du code binaire
[modifier | modifier le code]Le système de numération binaire moderne, base du code binaire, a été développé par Gottfried Leibniz sur une période qui s'étend environ entre 1678 et 1703[1], date où paraît son article Explication de l'Arithmétique Binaire.
Le titre complet est "Explication de l’arithmétique binaire, qui se sert des seuls caractères O et I avec des remarques sur son utilité et sur ce qu’elle donne le sens des anciennes figures chinoises de Fohy" [2]. Le système de Leibniz utilise 0 et 1, comme le système de numération binaire moderne.
Leibniz a découvert le Yi Jing par l'intermédiaire du jésuite français Joachim Bouvet — les deux hommes ont entretenu une longue correspondance — et a noté avec fascination comment ses hexagrammes correspondaient aux nombres binaires de 0 à 111111 et a conclu que cette cartographie était la preuve des réalisations majeures de la Chine dans le domaine de mathématiques philosophiques qu'il admirait[3],[4]. C'est Bouvet qui fit remarquer à Leibniz dans une lettre de 1701 l'analogie entre son système de numération et le Yi Jing, quoique l'intérêt de Leibniz pour la Chine ait daté de plus loin [1]. Leibniz vit en les hexagrammes une affirmation de l'universalité de sa propre croyance religieuse[4].
Les nombres binaires étaient au centre de la théologie de Leibniz. Il croyait que les nombres binaires étaient symboliques de l'idée chrétienne de creatio ex nihilo ou de création à partir de rien[5]. Leibniz essayait de trouver un système qui convertisse les déclarations verbales de la logique en un système purement mathématique. Après que ses idées aient été ignorées, il découvrit un texte chinois classique appelé Yi Jing ou 'livre des changements', qui utilisait un type de code binaire. Le livre avait confirmé sa théorie selon laquelle la vie pouvait être simplifiée ou réduite à une série de propositions simples.
Il créa un système composé de lignes de zéros et de uns. Au cours de cette période, Leibniz n’avait pas encore trouvé d’utilisation pour ce système[6].
Les systèmes binaires antérieurs à Leibniz existaient également dans le monde antique. Le Yi Jing susmentionné que Leibniz découvrit date du IXe siècle av. J.-C. en Chine[7]. Le système binaire du Yi Jing , un texte dédié à la divination, est basé sur la dualité du yin et du yang[8]. Les tambours à fente avec sons binaires étaient utilisés pour coder les messages en Afrique et en Asie[8]. Le savant indien Pingala (environ Ve – IIe siècles av. J.-C.) a développé un système binaire pour décrire la prosodie dans son Chandashutram[9],[10].
Les habitants de l'île de Mangareva en Polynésie française utilisaient un système hybride décimal-binaire avant 1450 [11] Au XIe siècle, l'érudit et philosophe Shao Yong développa une méthode pour arranger les hexagrammes, qui correspond, bien qu'involontairement, à la séquence 0 à 63, représentée en binaire, avec yin comme 0, yang comme 1 et le bit le moins significatif en haut. L'ordre est également l'ordre lexicographique de sextuples d'éléments choisis dans un ensemble de deux éléments[12].
En 1605, Francis Bacon discuta d'un système selon lequel les lettres de l'alphabet pourraient être réduites à des séquences de chiffres binaires, qui pourraient ensuite être codées comme des variations à peine visibles de police dans n'importe quel texte[13]. Fait important en ce qui concerne la théorie générale du codage binaire, il ajouta que cette méthode pouvait être utilisée avec n’importe quel objet: "à condition que ces objets ne soient capables que d’une double différence ; comme pour les cloches, trompettes, lumières, torches, mousquets et tous instruments de même nature"[13].
En 1847, George Boole publia un article intitulé "L'analyse mathématique de la logique" qui décrit un système algébrique de la logique, désormais appelé algèbre de Boole. Le système de Boole était basé sur une approche binaire, un oui-non, on-off qui comprenait les trois opérations les plus élémentaires: ET, OU et NON[14]. Ce système ne fut pas utilisé et fut oublié jusqu'à ce qu'un étudiant diplômé du Massachusetts Institute of Technology, Claude Shannon, se rende compte que l'algèbre booléenne qu'il avait apprise était semblable à un circuit électrique. Shannon rédigea sa thèse en 1937, qui mit en œuvre ses conclusions. La thèse de Shannon devint un point de départ pour l'utilisation du code binaire dans des applications pratiques telles que les ordinateurs, les circuits électriques, etc. [15]
Autres formes de code binaire
[modifier | modifier le code]La chaîne de bits n'est pas le seul type de code binaire. En général, un système binaire est un système qui n'autorise que deux choix, comme un commutateur dans un système électronique ou un simple test vrai ou faux.
Braille
[modifier | modifier le code]Le braille est un type de code binaire largement utilisé par les aveugles pour lire et écrire au toucher, nommé après son créateur, Louis Braille. Ce système est constitué de grilles de six points chacune, trois par colonne, dans lesquelles chaque point a deux états: élevé ou non élevé. Les différentes combinaisons de points en relief et aplatis sont capables de représenter toute lettre, chiffre et signe de ponctuation.
Bagua
[modifier | modifier le code]Les bagua sont des diagrammes utilisés dans les études du feng shui , de la cosmologie taoïste et du Yi Jing. Le ba gua est constitué de 8 trigrammes; bā signifiant 8 et guà signifiant figure de divination. Le même mot est utilisé pour les 64 guà (hexagrammes). Chaque figure combine trois lignes (yáo) qui sont soit brisées (yin), soit ininterrompues (yang). Les relations entre les trigrammes sont représentées dans deux arrangements: le bagua primordial, "Le ciel plus ancien" ou "Fuxi", et le bagua manifesté, "Le ciel plus tardif" ou "Roi Wen" . [16] (Voir aussi la séquence du roi Wen, de 64 hexagrammes).
Systèmes de codage
[modifier | modifier le code]Code ASCII
[modifier | modifier le code]Le code ASCII (American Standard Code for Information Interchange) utilise un code binaire à 7 bits pour représenter du texte et d’autres caractères dans les ordinateurs, les équipements de communication et autres périphériques. Un numéro entre 0 et 127 est attribué à chaque lettre ou symbole. Par exemple, "a" en minuscule est représenté par 1100001
sous forme de chaîne de bits ("97" en décimal).
Décimal codé binaire
[modifier | modifier le code]Le décimal codé binaire (DCB) est une représentation d'entiers codée en binaire qui utilise un quartet sur 4 bits pour coder les chiffres décimaux. Quatre bits binaires peuvent coder jusqu'à 16 valeurs distinctes; mais, dans les nombres codés en DCB, seules les dix premières valeurs de chaque quartet sont légales et codent les chiffres décimaux nuls de zéro à neuf. Les six valeurs restantes sont illégales et peuvent entraîner une exception d'ordinateur ou un comportement non spécifié, en fonction de l'implémentation de l'arithmétique DCB par l'ordinateur.
L'arithmétique DCB est parfois préférée aux formats numériques à virgule flottante dans les applications commerciales et financières où le comportement d'arrondi complexe des nombres à virgule flottante est inapproprié[17].
Premières utilisations de codes binaires
[modifier | modifier le code]- 1875: Émile Baudot "Ajout de chaînes binaires dans son système de chiffrement", qui aboutit finalement à l'ASCII d'aujourd'hui.
- 1884: Machine Linotype où les matrices sont triées dans les canaux correspondants après utilisation par un rail de guidage à code binaire.
- 1932: compteur "balance de deux" de CE Wynn-Williams [18]
- 1937: multiplicateur binaire électromécanique Alan Turing
- 1937: code "Excess-3" de George Stibitz dans l'ordinateur complexe [18]
- 1937: Ordinateur Atanasoff – Berry [18]
- 1938: Konrad Zuse Z1
Utilisations actuelles du binaire
[modifier | modifier le code]La plupart des ordinateurs modernes utilisent un codage binaire des instructions et les données. Les CD , DVD et disques Blu-ray représentent le son et la vidéo numériquement sous forme binaire. Les appels téléphoniques sont acheminés numériquement sur des réseaux longue distance et des réseaux de téléphonie mobile utilisant la modulation par impulsions codées, ainsi que sur des réseaux voix sur IP .
Poids des codes binaires
[modifier | modifier le code]Le poids d'un code binaire, tel que défini dans le tableau des codes à poids constants[19], est le poids de Hamming des mots binaires codant les mots ou séquences représentés.
Voir également
[modifier | modifier le code]- Nombre binaire
- Liste de codes binaires
- Fichier binaire
- Unicode
- Code de Gray
- exemple de code binaire: 01101000 01110100 01110100 01110000 01110011 00111010 00101111 00101111 01100010 01101001 01110100 00101110 01101100 01111001 00101111 00110011 01010010 00110011 01110101 01110001 01101010 01001100
Références
[modifier | modifier le code]- Aleksandar Nikolić, « Gottfried Wilhelm Leibniz et le système binaire », Faculty of Science, University of Novi Sad, vol. 24, no 2, (lire en ligne [PDF])
- Godefroy-Guillaume Leibnitz, « Explication de l’arithmétique binaire, qui se sert des seuls caractères O et I avec des remarques sur son utilité et sur ce qu’elle donne le sens des anciennes figures chinoises de Fohy », Mémoires de mathématique et de physique de l’Académie royale des sciences, Académie royale des sciences, (lire en ligne)
- Eric J. Aiton, Leibniz : A Biography, Taylor & Francis, , 245–8 p. (ISBN 978-0-85274-470-3)
- (en) J.E.H. Smith, Leibniz : What Kind of Rationalist? : What Kind of Rationalist?, Dordrecht/London, Springer, (ISBN 978-1-4020-8668-7, lire en ligne), p. 415
- Yuen-Ting Lai, Leibniz, Mysticism and Religion, Springer, , 149–150 p. (ISBN 978-0-7923-5223-5, lire en ligne)
- Gottfried Wilhelm Leibniz (1646-1716)
- Edward Hacker, Steve Moore et Lorraine Patsco, I Ching : An Annotated Bibliography, Routledge, , 336 p. (ISBN 978-0-415-93969-0, lire en ligne), p. 13
- Jonathan Shectman, Groundbreaking Scientific Experiments, Inventions, and Discoveries of the 18th Century, Greenwood Publishing, , 317 p. (ISBN 978-0-313-32015-6, lire en ligne), p. 29
- Julio Sanchez et Maria P. Canton, Microcontroller programming : the microchip PIC, Boca Raton, Florida, CRC Press, (ISBN 978-0-8493-7189-9), p. 37
- W. S. Anglin and J. Lambek, The Heritage of Thales, Springer, 1995, (ISBN 0-387-94544-X)
- Bender et Beller, « Mangarevan invention of binary steps for easier calculation », Proceedings of the National Academy of Sciences, vol. 111, no 4, , p. 1322–1327 (PMID 24344278, PMCID 3910603, DOI 10.1073/pnas.1309160110)
- Ryan, « Leibniz' Binary System and Shao Yong's "Yijing" », Philosophy East and West, vol. 46, no 1, , p. 59–90 (DOI 10.2307/1399337, JSTOR 1399337)
- Bacon, « The Advancement of Learning », London, , Chapter 1
- Qu'est-ce qui est si logique dans l'algèbre booléenne?
- Claude Shannon (1916-2001)
- Richard Wilhelm, The I Ching or Book of Changes, Princeton, NJ, Princeton University Press, , 266, 269 (ISBN 978-0-691-09750-3, lire en ligne)
- Cowlishaw, « General Decimal Arithmetic », IBM, (consulté le )
- Glaser 1971
- Tableau des codes binaires à poids constant
Liens externes
[modifier | modifier le code]- Le codage binaire
- Sir Francis Bacon's BiLiteral Cypher system, prédate le système binaaire.
- (en) Eric W. Weisstein, « {{{titre}}} », sur MathWorld
- Table of general binary codes. Une table générale des codes binaires.
- Table of Nonlinear Binary Codes. Maintainu by Simon Litsyn, E. M. Rains, and N. J. A. Sloane. Mis à jour jusqu'enl 1999.
- Anton Glaser, History of Binary and other Nondecimal Numeration, Tomash, , 218 p. (ISBN 978-0-938228-00-4), « Chapter VII Applications to Computers » cite certains accomplissements pré-ENIAC.