Quel est le nombre 17 en binaire ?
10001
√ 1010001 10001    10001                 10001 x\times(2^6-2) & = & 1100010101 \\ x & = & 1100010101/111110 \\ \frac{12_{10}}{17_{10}} \frac{1100_2}{10001_2} * 0,10100100010000100000100… a un modèle, mais ce n'est pas un modèle récurrent de longueur fixe, donc le nombre est irrationnel
En mathématiques et en électronique numérique, un nombre binaire est un nombre exprimé dans le système numérique binaire ou système numérique base 2 qui représente des valeurs numériques à l'aide de deux symboles différents : généralement 0 (zéro) et 1 (un). Le système base 2 est une notation positionnelle avec une base de 2. En raison de sa mise en œuvre simple dans les circuits électroniques numériques utilisant des portes logiques, le système binaire est utilisé en interne par presque tous les ordinateurs et appareils informatiques modernes. Chaque chiffre est appelé un bit.
Histoire
Le système de nombres binaires moderne a été conçu par Gottfried Leibniz en 1679 et apparaît dans son article Explication de l'Arithmétique Binaire (publié en 1703). Les systèmes liés aux nombres binaires sont apparus plus tôt dans plusieurs cultures, notamment l'Égypte ancienne, la Chine et l'Inde. Leibniz s’est spécifiquement inspiré du I Ching chinois.
Egypte
Les scribes de l'Égypte ancienne utilisaient deux systèmes différents pour leurs fractions, les fractions égyptiennes (sans rapport avec le système de nombres binaires) et les fractions Horus-Œil (ainsi appelées parce que de nombreux historiens des mathématiques pensent que les symboles utilisés pour ce système pourraient être disposés pour former l'œil d'Horus, bien que cela ait été contesté). Les fractions Horus-Eye sont un système de numérotation binaire pour les quantités fractionnaires de céréales, de liquides ou d'autres mesures, dans lequel une fraction d'hékat est exprimée comme la somme des fractions binaires 1/2, 1/4, 1/8, 1. /16, 1/32 et 1/64. Les premières formes de ce système peuvent être trouvées dans des documents de la Cinquième Dynastie égyptienne, environ 2400 avant JC, et sa forme hiéroglyphique pleinement développée date de la Dix-neuvième Dynastie égyptienne, environ 1200 avant JC.
La méthode utilisée pour la multiplication égyptienne antique est également étroitement liée aux nombres binaires. Dans cette méthode, la multiplication d'un nombre par un second est effectuée par une séquence d'étapes dans lesquelles une valeur (initialement le premier des deux nombres) est soit doublée, soit le premier nombre y est rajouté ; l'ordre dans lequel ces étapes doivent être effectuées est donné par la représentation binaire du deuxième nombre. Cette méthode peut être utilisée, par exemple, dans le papyrus mathématique Rhind, qui date d'environ 1650 avant JC.
Chine
Le Yi Ching date du 9ème siècle avant JC en Chine. La notation binaire du I Ching est utilisée pour interpréter sa technique de divination quaternaire.
Il est basé sur la dualité taoïste du yin et du yang.
huit trigrammes (Bagua) et un ensemble de 64 hexagrammes ("soixante-quatre" gua), analogues aux chiffres binaires à trois et six bits, étaient utilisés au moins dès la dynastie Zhou de la Chine ancienne.
L'érudit contemporain Shao Yong a réorganisé les hexagrammes dans un format qui ressemble aux nombres binaires modernes, bien qu'il n'ait pas eu l'intention que son arrangement soit utilisé mathématiquement. Visualiser le bit le moins significatif au-dessus d'hexagrammes simples dans le [http://www.biroco.com/yijing/sequence.htm Le carré de Shao Yong] et lire le long des lignes du bas à droite vers le haut à gauche avec des lignes pleines comme 0 et des lignes brisées comme 1 ou du haut à gauche vers le bas à droite avec des lignes pleines comme 1 et des lignes brisées comme 0. Les hexagrammes peuvent être interprétés comme une séquence de 0 à 63.
Inde
L'érudit indien Pingala (vers le IIe siècle avant JC) a développé un système binaire pour décrire la prosodie. Il a utilisé des nombres binaires sous forme de syllabes courtes et longues (ces dernières étant égales en longueur à deux syllabes courtes), ce qui les rend similaires au code Morse. Le classique hindou de Pingala intitulé Chandaḥśāstra (8.23) décrit la formation d'une matrice afin de donner une valeur unique à chaque mètre. Les représentations binaires dans le système de Pingala augmentent vers la droite, et non vers la gauche comme dans les nombres binaires de la notation positionnelle occidentale moderne.
Autres cultures
Les habitants de l'île de Mangareva en Polynésie française utilisaient un système hybride binaire-décimal avant 1450. Des tambours à fente à tonalités binaires sont utilisés pour coder les messages à travers l'Afrique et l'Asie.
Des ensembles de combinaisons binaires similaires au I Ching ont également été utilisés dans les systèmes de divination traditionnels africains tels que l'Ifá ainsi que dans la géomancie médiévale occidentale. Le système base 2 utilisé en géomancie était depuis longtemps largement appliqué en Afrique subsaharienne.
Les prédécesseurs occidentaux de Leibniz
En 1605, Francis Bacon a discuté d'un système par lequel les lettres de l'alphabet pourraient être réduites à des séquences de chiffres binaires, qui pourraient ensuite être codées sous forme de variations à peine visibles de la police dans n'importe quel texte aléatoire. Fait important pour la théorie générale du codage binaire, il a ajouté que cette méthode pouvait être utilisée avec n'importe quel objet : « à condition que ces objets soient capables d'une double différence seulement ; comme par les cloches, par les trompettes, par les lumières et les torches, par le rapport des mousquets et de tous instruments de même nature".
 (Voir le chiffre de Bacon.)
Leibniz et le I Ching
Le titre complet de l'article de Leibniz est traduit en anglais par "Explication de l'arithmétique binaire, qui utilise uniquement les caractères 1 et 0, avec quelques remarques sur son utilité et sur la lumière qu'elle jette sur les anciennes figures chinoises de Fu Xi". .Leibniz G., Explication de l'Arithmétique Binaire, Die Mathematische Schriften, éd. C. Gerhardt, Berlin 1879, vol.7, p.223 ; Anglais. trad.[http://www.leibniz-translations.com/binary.htm] (1703). Le système de Leibniz utilise 0 et 1, comme le système numérique binaire moderne. Un exemple du système numérique binaire de Leibniz est le suivant :
0 0 0 1   valeur numérique 20
0 0 1 0   valeur numérique 21
0 1 0 0   valeur numérique 22
1 0 0 0   valeur numérique 23
Leibniz interprétait les hexagrammes du I Ching comme une preuve du calcul binaire.
En tant que sinophile, Leibniz connaissait le Yi King, remarqua avec fascination comment ses hexagrammes correspondent aux nombres binaires de 0 à 111111, et conclut que cette cartographie était la preuve de réalisations chinoises majeures dans le type de mathématiques philosophiques qu'il admirait.
Leibniz a été initié au I Ching grâce à son contact avec le jésuite français Joachim Bouvet, qui a visité la Chine en 1685 en tant que missionnaire. Leibniz considérait les hexagrammes du I Ching comme une affirmation de l'universalité de ses propres croyances religieuses en tant que chrétien. Les chiffres binaires étaient au cœur de la théologie de Leibniz. Il croyait que les nombres binaires symbolisaient l’idée chrétienne de la création ex nihilo ou de la création à partir de rien.
Développements ultérieurs
En 1854, le mathématicien britannique George Boole a publié un article historique détaillant un système de logique algébrique qui allait devenir connu sous le nom d’algèbre booléenne. Son calcul logique allait jouer un rôle déterminant dans la conception de circuits électroniques numériques.
En 1937, Claude Shannon a rédigé sa thèse de maîtrise au MIT qui mettait en œuvre l'algèbre booléenne et l'arithmétique binaire à l'aide de relais et de commutateurs électroniques pour la première fois dans l'histoire. Intitulée Une analyse symbolique des circuits de relais et de commutation, la thèse de Shannon fonde essentiellement la conception pratique de circuits numériques.
En novembre 1937, George Stibitz, alors travaillant aux Bell Labs, a achevé un ordinateur à relais qu'il a surnommé le « Modèle K » (pour « Cuisine », où il l'avait assemblé), qui calculait en utilisant l'addition binaire. Les Bell Labs autorisèrent ainsi un programme de recherche complet fin 1938 avec Stibitz à la barre. Leur ordinateur à nombres complexes, achevé le 8 janvier 1940, était capable de calculer des nombres complexes. Lors d'une démonstration à la conférence de l'American Mathematical Society au Dartmouth College le 11 septembre 1940, Stibitz fut capable d'envoyer des commandes à distance du calculateur de nombres complexes via des lignes téléphoniques par télétype. Il s’agissait de la première machine informatique jamais utilisée à distance via une ligne téléphonique. Parmi les participants à la conférence qui ont assisté à la démonstration figuraient John von Neumann, John Mauchly et Norbert Wiener, qui en ont parlé dans ses mémoires.
Représentation
N'importe quel nombre peut être représenté par n'importe quelle séquence de bits (chiffres binaires), qui à leur tour peuvent être représentés par n'importe quel mécanisme capable d'être dans deux états mutuellement exclusifs. N'importe laquelle des lignes de symboles suivantes peut être interprétée comme la valeur numérique binaire de 667.
La valeur numérique représentée dans chaque cas dépend de la valeur attribuée à chaque symbole. Dans un ordinateur, les valeurs numériques peuvent être représentées par deux tensions différentes ; sur un disque magnétique, des polarités magnétiques peuvent être utilisées. Un état « positif », « oui » ou « activé » n'est pas nécessairement équivalent à la valeur numérique de un ; cela dépend de l'architecture utilisée.
Conformément à la représentation habituelle des chiffres en chiffres arabes, les nombres binaires sont généralement écrits en utilisant les symboles 0 et 1. Lorsqu'ils sont écrits, les chiffres binaires sont souvent indicés, préfixés ou suffixés afin d'indiquer leur base ou leur base. Les notations suivantes sont équivalentes :
* 100101 binaire (instruction explicite du format)
* 100101b (un suffixe indiquant le format binaire ; également connu sous le nom de convention Intel)
* 100101B (un suffixe indiquant le format binaire)
* bin 100101 (un préfixe indiquant le format binaire)
* 1001012 (un indice indiquant la notation base 2 (binaire))
* %100101 (un préfixe indiquant le format binaire ; également connu sous le nom de convention Motorola)
* 0b100101 (un préfixe indiquant le format binaire, courant dans les langages de programmation)
* 6b100101 (un préfixe indiquant le nombre de bits au format binaire, courant dans les langages de programmation)
Lorsqu'ils sont prononcés, les chiffres binaires sont généralement lus chiffre par chiffre, afin de les distinguer des chiffres décimaux. Par exemple, le chiffre binaire 100 est prononcé un zéro zéro, plutôt que cent, pour rendre explicite sa nature binaire et à des fins d'exactitude. Étant donné que le chiffre binaire 100 représente la valeur quatre, il serait déroutant de faire référence au chiffre comme cent (un mot qui représente une valeur ou un montant complètement différent). Alternativement, le chiffre binaire 100 peut être lu comme « quatre » (la valeur correcte), mais cela ne rend pas explicite sa nature binaire.
Compter en binaire
Compter en binaire est similaire à compter dans tout autre système numérique. En commençant par un seul chiffre, le comptage se déroule à travers chaque symbole, par ordre croissant. Avant d’examiner le comptage binaire, il est utile de discuter brièvement du système de comptage décimal plus familier comme cadre de référence.
Comptage décimal
Le comptage décimal utilise les dix symboles de 0 à 9. Le comptage commence par la substitution incrémentielle du chiffre le moins significatif (chiffre le plus à droite), souvent appelé premier chiffre. Lorsque les symboles disponibles pour cette position sont épuisés, le chiffre le moins significatif est réinitialisé à 0 et le chiffre suivant de poids le plus élevé (une position vers la gauche) est incrémenté (débordement) et la substitution incrémentielle du chiffre de poids faible reprend. Cette méthode de réinitialisation et de débordement est répétée pour chaque chiffre significatif. Le comptage se déroule de la manière suivante :
000, 001, 002, ... 007, 008, 009, (le chiffre le plus à droite est remis à zéro et le chiffre à sa gauche est incrémenté)
010, 011, 012, ...
...
090, 091, 092, ... 097, 098, 099 (les deux chiffres les plus à droite sont remis à zéro et le chiffre suivant est incrémenté)
100, 101, 102, ...
Comptage binaire
Le comptage binaire suit la même procédure, sauf que seuls les deux symboles 0 et 1 sont disponibles. Ainsi, lorsqu'un chiffre atteint 1 en binaire, un incrément le remet à 0 mais provoque également un incrément du chiffre suivant à gauche :
0000,
0001, (le chiffre le plus à droite recommence et le chiffre suivant est incrémenté)
0010, 0011, (les deux chiffres les plus à droite recommencent et le chiffre suivant est incrémenté)
0100, 0101, 0110, 0111, (les trois chiffres les plus à droite recommencent et le chiffre suivant est incrémenté)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111...
Dans le système binaire, chaque chiffre représente une puissance croissante de 2, le chiffre le plus à droite représentant 20, le suivant représentant 21, puis 22, et ainsi de suite. La représentation décimale équivalente d'un nombre binaire est la somme des puissances de 2 que représente chaque chiffre. Par exemple, le nombre binaire 100101 est converti sous forme décimale comme suit :
1001012 = [ ( 1 ) × 25 ] + [ ( 0 ) × 24 ] + [ ( 0 ) × 23 ] + [ ( 1 ) × 22 ] + [ ( 0 ) × 21 ] + [ ( 1 ) × 20 ]
1001012 = [ 1 × 32 ] + [ 0 × 16 ] + [ 0 × 8 ] + [ 1 × 4 ] + [ 0 × 2 ] + [ 1 × 1 ]
1001012 = 3710
Fractions
Les fractions binaires ne se terminent que si le dénominateur a 2 comme seul facteur premier. Par conséquent, 1/10 n’a pas de représentation binaire finie, ce qui fait que 10 × 0,1 n’est pas exactement égal à 1 en arithmétique à virgule flottante. A titre d'exemple, pour interpréter l'expression binaire pour 1/3 .010101..., cela signifie : 1/3
 0 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1 × 2−4 + ... = 0,3125 + ... Une valeur exacte ne peut pas être trouvée avec une somme d'un nombre fini de puissances inverses de deux, les zéros et les uns dans la représentation binaire de 1/3 alternent pour toujours.
Arithmétique binaire
L'arithmétique en binaire ressemble beaucoup à l'arithmétique dans d'autres systèmes numériques. L'addition, la soustraction, la multiplication et la division peuvent être effectuées sur des chiffres binaires.
Ajout
L’opération arithmétique la plus simple en binaire est l’addition. L'addition de deux nombres binaires à un chiffre est relativement simple, en utilisant une forme de portage :
0 + 0 → 0
0 + 1 → 1
1 + 0 → 1
1 + 1 → 0, porter 1 (puisque 1 + 1 2
 0 + (1 × 21) )
L'ajout de deux chiffres "1" produit un chiffre "0", tandis que 1 devra être ajouté à la colonne suivante. Ceci est similaire à ce qui se produit en décimal lorsque certains nombres à un chiffre sont additionnés ; si le résultat est égal ou supérieur à la valeur de la base (10), le chiffre de gauche est incrémenté :
5 + 5 → 0, porter 1 (puisque 5 + 5 10
 0 + (1 × 101) )
7 + 9 → 6, porter 1 (puisque 7 + 9 16
 6 + (1 × 101) )
C’est ce qu’on appelle le portage. Lorsque le résultat d'une addition dépasse la valeur d'un chiffre, la procédure consiste à "porter" le montant excédentaire divisé par la base (c'est-à-dire 10/10) vers la gauche, en l'ajoutant à la valeur de position suivante. Ceci est correct puisque la position suivante a un poids supérieur d’un facteur égal à la base. Le transport fonctionne de la même manière en binaire :
0 1 1 0 1
 +   1 0 1 1 1
-------------
 1 0 0 1 0 0 
 36
Dans cet exemple, deux chiffres sont additionnés : 011012 (1310) et 101112 (2310). La rangée supérieure montre les bits de report utilisés. En commençant dans la colonne la plus à droite, 1 + 1 102. Le 1 est porté vers la gauche et le 0 est écrit en bas de la colonne la plus à droite. La deuxième colonne en partant de la droite est ajoutée : 1 + 0 + 1
 102 encore ; le 1 est porté, et le 0 est écrit en bas. La troisième colonne : 1 + 1 + 1 = 112. Cette fois, un 1 est porté, et un 1 est écrit dans la rangée du bas. En procédant ainsi, on obtient la réponse finale 1001002 (36 décimales).
Lorsque les ordinateurs doivent additionner deux nombres, la règle est la suivante :
x xor y = (x + y) mod 2
pour deux bits x et y, cela permet également un calcul très rapide.
Méthode de transport long
Une simplification pour de nombreux problèmes d'addition binaire est la méthode Long Carry ou la méthode Brookhouse d'addition binaire. Cette méthode est généralement utile dans toute addition binaire où l'un des nombres contient une longue « chaîne » de uns. Il est basé sur le principe simple que dans le système binaire, lorsqu'on lui donne une « chaîne » de chiffres composée entièrement de uns (où : est une longueur entière), l'ajout de 1 donnera le nombre 1 suivi d'une chaîne de zéros. Ce concept suit, logiquement, tout comme dans le système décimal, où l'ajout de 1 à une chaîne de 9 entraînera le nombre 1 suivi d'une chaîne de 0 :
      Décimal binaire
     1 1 1 1 1 de même 9 9 9 9 9
+          1                  +          1
   ———————————                   ———————————
   1 0 0 0 0 0                   1 0 0 0 0 0
Des chaînes aussi longues sont assez courantes dans le système binaire. De là, on constate que de grands nombres binaires peuvent être ajoutés en deux étapes simples, sans opérations de report excessives. Dans l'exemple suivant, deux chiffres sont additionnés : 1 1 1 0 1 1 1 1 1 02 (95810) et 1 0 1 0 1 1 0 0 1 12 (69110), en utilisant la méthode de report traditionnelle à gauche, et la méthode du long carry à droite :
 Méthode de portage traditionnelle Méthode de portage long
                                 contre.
porter le 1 jusqu'à ce qu'il soit un chiffre après la "chaîne" ci-dessous
     1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 rayer la "chaîne",
 + 1 0 1 0 1 1 0 0 1 1 + 1 0 1 0 1 1 0 0 1 1 et rayez le chiffre qui y a été ajouté
——————————————————————— ——————————————————————
 = 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1
La rangée supérieure montre les bits de report utilisés. Au lieu du report standard d'une colonne à la suivante, le « 1 » de rang le plus bas avec un « 1 » dans la valeur de position correspondante en dessous peut être ajouté et un « 1 » peut être reporté à un chiffre après la fin du série. Les numéros « utilisés » doivent être barrés, car ils sont déjà ajoutés. D'autres chaînes longues peuvent également être annulées en utilisant la même technique. Ensuite, additionnez simplement tous les chiffres restants normalement. En procédant de cette manière, on obtient la réponse finale de 1 1 0 0 1 1 1 0 0 0 12 (164910). Dans notre exemple simple utilisant de petits nombres, la méthode de portage traditionnelle nécessitait huit opérations de portage, alors que la méthode de portage long n'en nécessitait que deux, ce qui représentait une réduction substantielle de l'effort.
Tableau d'addition
La table d'addition binaire est similaire, mais pas identique, à la table de vérité de l'opération de disjonction logique \or. La différence est que 1\ou 11, tandis que 1+1
dix.
Soustraction
La soustraction fonctionne à peu près de la même manière :
0 − 0 → 0
0 − 1 → 1, emprunter 1
1 − 0 → 1
1 − 1 → 0
Soustraire un chiffre "1" d'un chiffre "0" produit le chiffre "1", tandis que 1 devra être soustrait de la colonne suivante. C’est ce qu’on appelle l’emprunt. Le principe est le même que pour le portage. Lorsque le résultat d'une soustraction est inférieur à 0, la plus petite valeur possible d'un chiffre, la procédure consiste à "emprunter" le déficit divisé par la base (c'est-à-dire 10/10) à la gauche, en le soustrayant de la position suivante. valeur.
     * * * * (les colonnes étoilées sont empruntées)
   1 1 0 1 1 1 0
−     1 0 1 1 1
 ----------------
 = 1 0 1 0 1 1 1
* (les colonnes étoilées sont empruntées)
   1 0 1 1 1 1 1
 - 1 0 1 0 1 1
----------------
 = 0 1 1 0 1 0 0
Soustraire un nombre positif équivaut à ajouter un nombre négatif de valeur absolue égale. Les ordinateurs utilisent des représentations de nombres signés pour gérer les nombres négatifs, le plus souvent la notation du complément à deux. De telles représentations éliminent le besoin d’une opération de « soustraction » distincte. En utilisant la notation complément à deux, la soustraction peut être résumée par la formule suivante :
A − B = A + pas B + 1
Multiplication
La multiplication en binaire est similaire à son homologue décimale. Deux nombres et peuvent être multipliés par des produits partiels : pour chaque chiffre de , le produit de ce chiffre de est calculé et écrit sur une nouvelle ligne, décalée vers la gauche de manière à ce que son chiffre le plus à droite s'aligne avec le chiffre de qui a été utilisé. La somme de tous ces produits partiels donne le résultat final.
Puisqu’il n’y a que deux chiffres en binaire, il n’y a que deux résultats possibles pour chaque multiplication partielle :
* Si le chiffre entré est 0, le produit partiel est également 0
* Si le chiffre in est 1, le produit partiel est égal à
Par exemple, les nombres binaires 1011 et 1010 sont multipliés comme suit :
            1 0 1 1 ()
          × 1 0 1 0 ()
---------
            0 0 0 0 ← Correspond au « zéro » le plus à droite dans
    + 1 0 1 1 ← Correspond au prochain 'un' dans
+   0 0 0 0
    + 1 0 1 1
    ---------------
= 1 1 0 1 1 1 0
Les nombres binaires peuvent également être multipliés par des bits après un point binaire :
                1 0 1 . 1 0 1 (5,625 en décimal)
× 1 1 0 . 0 1 (6,25 en décimal)
              -------------------
                    1 . 0 1 1 0 1 ← Correspond à un « un » dans
+0 0 . 0 0 0 0 ← Correspond à un « zéro » dans
      +0 0 0 . 0 0 0
      + 1 0 1 1 . 0 1
+ 1 0 1 1 0 . 1
      --------------------------------
      = 1 0 0 0 1 1 . 0 0 1 0 1 (35,15625 en décimal)
Voir aussi l'algorithme de multiplication de Booth.
Table de multiplication
La table de multiplication binaire est la même que la table de vérité de l’opération de conjonction logique \and.
Division
La division longue en binaire est encore une fois similaire à son homologue décimal.
Dans l'exemple ci-dessous, le diviseur est 1012, soit 5 décimales, tandis que le dividende est 110112, soit 27 décimales. La procédure est la même que celle de la division longue décimale ; ici, le diviseur 1012 entre une fois dans les trois premiers chiffres 1102 du dividende, donc un « 1 » est écrit sur la ligne supérieure. Ce résultat est multiplié par le diviseur, et soustrait des trois premiers chiffres du dividende ; le chiffre suivant (un "1") est inclus pour obtenir une nouvelle séquence de trois chiffres :
1
         ___________
 1 0 1   ) 1 1 0 1 1
− 1 0 1
           -----
           0 0 1
La procédure est ensuite répétée avec la nouvelle séquence, en continuant jusqu'à ce que les chiffres du dividende soient épuisés :
              1 0 1
        ___________
1 0 1  ) 1 1 0 1 1
        − 1 0 1
          -----
1 1 1
          −   1 0 1
              -----
dix
Ainsi, le quotient de 110112 divisé par 1012 est 1012, comme indiqué sur la ligne du haut, tandis que le reste, indiqué sur la ligne du bas, est 102. En décimal, 27 divisé par 5 est 5, avec un reste de 2.
Racine carrée
Le processus de prise d’une racine carrée binaire chiffre par chiffre est le même que pour une racine carrée décimale et est expliqué ici. Un exemple est :
              1 0 0 1
             ---------
√ 1010001
              1
             ---------
101     01  
                0
              --------
1001     100
                  0
              --------
10001    10001
                10001
               -------
0
Opérations au niveau du bit
Bien que cela ne soit pas directement lié à l'interprétation numérique des symboles binaires, les séquences de bits peuvent être manipulées à l'aide d'opérateurs logiques booléens. Lorsqu’une chaîne de symboles binaires est manipulée de cette manière, cela s’appelle une opération au niveau du bit ; les opérateurs logiques AND, OR et XOR peuvent être exécutés sur les bits correspondants dans deux chiffres binaires fournis en entrée. L'opération NON logique peut être effectuée sur des bits individuels dans un seul chiffre binaire fourni en entrée. Parfois, de telles opérations peuvent être utilisées comme raccourcis arithmétiques et peuvent également présenter d’autres avantages informatiques. Par exemple, un décalage arithmétique vers la gauche d'un nombre binaire équivaut à une multiplication par une puissance (positive, intégrale) de 2.
Conversion vers et depuis d'autres systèmes numériques
Décimal
Pour convertir un nombre entier en base 10 en son équivalent en base 2 (binaire), le nombre est divisé par deux et le reste est le bit le moins significatif. Le résultat (entier) est à nouveau divisé par deux, son reste étant le bit suivant le moins significatif. Ce processus se répète jusqu'à ce que le quotient devienne nul.
La conversion de la base 2 en base 10 s'effectue en appliquant l'algorithme précédent, pour ainsi dire, à l'envers. Les bits du nombre binaire sont utilisés un par un, en commençant par le bit de poids fort (le plus à gauche). En commençant par la valeur 0, doublez à plusieurs reprises la valeur précédente et ajoutez le bit suivant pour produire la valeur suivante. Cela peut être organisé dans un tableau à plusieurs colonnes. Par exemple, pour convertir 100101011012 en décimal :
Le résultat est 119710. Notez que la première valeur antérieure de 0 est simplement une valeur décimale initiale. Cette méthode est une application du schéma de Horner.
Les parties fractionnaires d'un nombre sont converties avec des méthodes similaires. Ils sont à nouveau basés sur l'équivalence du décalage avec le doublement ou la réduction de moitié.
Dans un nombre binaire fractionnaire tel que 0,110101101012, le premier chiffre est \begin{matrix} \frac{1}{2} \end{matrix}, le deuxième \begin{matrix} (\frac{1}{2})^ 2 = \frac{1}{4} \end{matrix}, etc. Donc s'il y a un 1 à la première place après la virgule, alors le nombre est au moins \begin{matrix} \frac{1}{2 } \end{matrix}, et vice versa. Le double de ce nombre est au moins 1. Cela suggère l'algorithme : doublez à plusieurs reprises le nombre à convertir, enregistrez si le résultat est au moins 1, puis jetez la partie entière.
Par exemple, \begin{matrix} (\frac{1}{3}) \end{matrix}10, en binaire, vaut :
Ainsi, la fraction décimale répétitive 0.... est équivalente à la fraction binaire répétitive 0.... .
Ou par exemple, 0,110, en binaire, vaut :
C'est aussi une fraction binaire répétitive 0.0... . Il peut être surprenant que les fractions décimales terminales puissent avoir des expansions répétitives en binaire. C'est pour cette raison que beaucoup sont surpris de découvrir que 0,1 + ... + 0,1, (10 ajouts) diffère de 1 en arithmétique à virgule flottante. En fait, les seules fractions binaires avec des développements terminaux sont sous la forme d'un entier divisé par une puissance de 2, ce qui n'est pas le cas de 1/10.
La conversion finale s'effectue des fractions binaires en fractions décimales. La seule difficulté réside dans la répétition de fractions, mais sinon, la méthode consiste à convertir la fraction en un nombre entier, à la convertir comme ci-dessus, puis à la diviser par la puissance appropriée de deux dans la base décimale. Par exemple:
\begin{aligner}
x & = & 1100&.1\overline{01110}\ldots \\
x\times 2^6 & = & 1100101110&.\overline{01110}\ldots \\
x\times 2 & = & 11001&.\overline{01110}\ldots \\
x\times(2^6-2) & = & 1100010101 \\
x & = & 1100010101/111110 \\
x & = & (789/62)_{10}
\fin{aligner}
Une autre façon de convertir du binaire en décimal, souvent plus rapide pour une personne familiarisée avec l'hexadécimal, consiste à le faire indirectement : d'abord en convertissant (x en binaire) en (x en hexadécimal), puis en convertissant (x en hexadécimal) en (x en décimal). ).
Pour de très grands nombres, ces méthodes simples sont inefficaces car elles effectuent un grand nombre de multiplications ou de divisions où un opérande est très grand. Un simple algorithme diviser pour régner est asymptotiquement plus efficace : étant donné un nombre binaire, il est divisé par 10k, où k est choisi de telle sorte que le quotient soit à peu près égal au reste ; puis chacune de ces pièces est convertie en décimal et les deux sont concaténées. Étant donné un nombre décimal, il peut être divisé en deux morceaux d'à peu près la même taille, dont chacun est converti en binaire, après quoi le premier morceau converti est multiplié par 10k et ajouté au deuxième morceau converti, où k est le nombre de décimales. chiffres dans la deuxième partie la moins significative avant la conversion.
Hexadécimal
Le binaire peut être converti un peu plus facilement vers et depuis l’hexadécimal. En effet, la base du système hexadécimal (16) est une puissance de la base du système binaire (2). Plus précisément, 16 = 24, il faut donc quatre chiffres binaires pour représenter un chiffre hexadécimal, comme indiqué dans le tableau de droite.
Pour convertir un nombre hexadécimal en son équivalent binaire, remplacez simplement les chiffres binaires correspondants :
3A16 = 0011 10102
E716 = 1110 01112
Pour convertir un nombre binaire en son équivalent hexadécimal, divisez-le en groupes de quatre bits. Si le nombre de bits n'est pas un multiple de quatre, insérez simplement 0 bits supplémentaires à gauche (appelé remplissage). Par exemple:
10100102 0101 0010 groupés avec rembourrage
 5216
110111012 1101 1101 groupés
 DD16
Pour convertir un nombre hexadécimal en son équivalent décimal, multipliez l'équivalent décimal de chaque chiffre hexadécimal par la puissance correspondante de 16 et additionnez les valeurs obtenues :
C0E716 (12 × 163) + (0 × 162) + (14 × 161) + (7 × 160)
 (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,38310
Octal
Le binaire est également facilement converti en système numérique octal, puisque l'octal utilise une base de 8, qui est une puissance de deux (à savoir 23, il faut donc exactement trois chiffres binaires pour représenter un chiffre octal). La correspondance entre les chiffres octaux et binaires est la même que pour les huit premiers chiffres hexadécimaux du tableau ci-dessus. Le binaire 000 est équivalent au chiffre octal 0, le binaire 111 est équivalent au chiffre octal 7, et ainsi de suite.
La conversion de l'octal en binaire se déroule de la même manière que pour l'hexadécimal :
658 = 110 1012
178 = 001 1112
Et du binaire à l'octal :
1011002 101 1002 groupés
548
100112 010 0112 groupés avec rembourrage
 238
Et de l'octal au décimal :
658 (6 × 81) + (5 × 80)
 (6 × 8) + (5 × 1) = 5310
1278 (1 × 82) + (2 × 81) + (7 × 80)
 (1 × 64) + (2 × 8) + (7 × 1) = 8710
Représenter des nombres réels
Les nombres non entiers peuvent être représentés en utilisant des puissances négatives, qui sont séparées des autres chiffres au moyen d'un point de base (appelé point décimal dans le système décimal). Par exemple, le nombre binaire 11.012 signifie ainsi :
Pour un total de 3,25 décimales.
Tous les nombres rationnels dyadiques \frac{p}{2^a} ont un chiffre binaire final — la représentation binaire a un nombre fini de termes après le point de base. D'autres nombres rationnels ont une représentation binaire, mais au lieu de se terminer, ils se reproduisent, avec une séquence finie de chiffres se répétant indéfiniment. Par exemple
\frac{1_{10}}{3_{10}} \frac{1_2}{11_2}
 0,01010101…2
\frac{12_{10}}{17_{10}} \frac{1100_2}{10001_2}
0,10110100 10110100 ...2
Le phénomène selon lequel la représentation binaire de tout rationnel est soit terminée, soit récurrente se produit également dans d'autres systèmes numériques basés sur des bases. Voir, par exemple, l'explication en décimal. Une autre similitude est l'existence de représentations alternatives pour toute représentation finale, s'appuyant sur le fait que 0,111111… est la somme de la série géométrique 2−1 + 2−2 + 2−3 + ... qui vaut 1.
Les chiffres binaires qui ne se terminent ni ne se reproduisent représentent des nombres irrationnels. Par exemple,
* 0,10100100010000100000100… a un modèle, mais ce n'est pas un modèle récurrent de longueur fixe, donc le nombre est irrationnel
* 1.0110101000001001111001100110011111110… est la représentation binaire de \sqrt{2}, la racine carrée de 2, un autre irrationnel. Il n’y a aucun modèle perceptible. Voir nombre irrationnel.