« Algèbre de Boole/Utiliser le système binaire » : différence entre les versions

Contenu supprimé Contenu ajouté
imported>Thijs!bot
m robot Ajoute: sk:Grayov kód
m Bot: Lien AdQ pour lmo:Còdas binari
Ligne 1 :
{{Voir homonymes|Binaire}}
L''''arithmétique binaire''' est la manière dont on mène les [[Arithmétique|calculs]] en [[Base (arithmétique)|base]] 2 ([[système binaire]]).
 
Le '''système binaire''' est un [[système de numération]] utilisant la [[Base (arithmétique)|base]] [[2 (nombre)|2]]. On nomme couramment [[bit (informatique)|bit]] (de l'[[anglais]] ''binary digit'', soit « chiffre binaire ») les [[chiffre]]s de la numération binaire. Ceux ci ne peuvent prendre que deux valeurs, notées par convention [[0 (nombre)|0]] et [[1 (nombre)|1]]. Il est utilisé dans les codes des ordinateurs
C'est un concept essentiel de l'[[informatique]]. En effet, les processeurs des [[ordinateur]]s sont composés de millions de [[transistor]]s (imprimés sur un circuit électronique) qui chacun ne gère que des [[bit]]s 0 (« le courant ne passe pas ») et 1 (« le courant passe »).
 
==Conversions==
Un calcul informatique n'est donc qu'une suite d'opérations sur des ''paquets'' de 0 et de 1, appelés [[octet]]s lorsqu'ils sont regroupés par 8.
===Énumération des premiers nombres===
Les premiers nombres s'écrivent :
décimal binaire
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
(Sachant que les colonnes binaires correspondent respectivement à 8,4,2 et 1)
 
On passe d'un nombre binaire au suivant en ajoutant 1, comme en décimal, sans oublier les retenues et en utilisant les tables d'additions suivantes:
== Codage binaire ==
0+0=0 0+1=1 1+0=1 1+1=10
ainsi:
11
+ 1
====
100
Détail :
1 + 1 = 10 => on pose 0, et retient 1
1 + 1(retenue) = 10 => on pose 0, et retient 1
0 + 1(retenue) = 1 => 1
 
----
Il existe différents systèmes numériques basés sur la représentation binaire.
L'[[arithmétique binaire]] (plus simplement le calcul binaire) est utilisé par les machines électroniques les plus courantes (calculatrices, ordinateurs, etc.) car la présence ou l'absence de courant peuvent servir à représenter les deux chiffres 0 et 1.
 
0 représente l'état fermé
=== Numération de position ===
 
1 représente l'état ouvert
Le codage le plus courant est l'équivalent en base deux de la [[Notation positionnelle|numération de position]] que nous utilisons quotidiennement en base 10.
 
Tout nombre peut s'écrire en binaire, c'est à dire qu'il se décompose en somme de puissances de 2(1;2;4;8;16;32;64;...), par exemple 35 se décompose en :
==== Représentation des entiers positifs ====
 
<math>1*2^{5}+0*2^{4}+0*2^{3}+0*2^{2}+1*2^{1}+1*2^{0} = 32 + 2 + 1 = 35</math>
Pour trouver la représentation binaire d'un nombre, on le décompose en somme de puissances de 2. Par exemple avec le nombre dont la représentation [[système décimal|décimale]] est 59 :
59 = '''1'''×32 + '''1'''×16 + '''1'''×8 + '''0'''×4 + '''1'''×2 + '''1'''×1
59 = '''1'''×2<small><sup>5</sup></small> + '''1'''×2<small><sup>4</sup></small> + '''1'''×2<small>³</small> + '''0'''×2<small>²</small> + '''1'''×2<small><sup>1</sup></small> + '''1'''×2<small><sup>0</sup></small>
59 = '''111011''' en binaire
 
donc le nombre décimal 35 se note 100011 en binaire.
Avec N [[bit (informatique)|bits]], ce système permet de représenter les nombres entre 0 et 2<sup>N</sup>-1. Il est donc possible de compter sur ses dix doigts jusqu'à 1023 (2<small><sup>10</sup></small>-1) en binaire. Il suffit d'affecter à chaque doigt une valeur binaire (pouvant être représenté par un doigt plié).
 
===Expression d'un nombre===
Doigt Main Puis. Valeur en
Un nombre décimal à plusieurs chiffres tel que 123 s'exprime ainsi :
de 2 numération
décimale
Auriculaire de la main droite levé 2^0 1
Annulaire » 2^1 + 2
Majeur » 2^2 + 4
Index » 2^3 + 8
Pouce » 2^4 + 16
Pouce de la main gauche levé 2^5 + 32
Index » 2^6 + 64
Majeur » 2^7 + 128
Annulaire » 2^8 + 256
Auriculaire » 2^9 + 512
-------
Somme =1 023
(Pour mémoire 2^10 =1 024)
 
<math>1*100+2*10+3*1=1*10^{2}+2*10^{1}+3*10^{0}</math>
Ceci confirme la formule
2^10-1=1 024-1
=1 023
On remarque qu'avec 10 doigts on peut prendre en compte les 10 premières puissances de 2 s'échelonnant de 2^0 à 2^9 c'est-à-dire la somme des 10 premières puissances de 2].
 
Sa représentation en binaire est 1111011 et s'exprime de la même façon :
==== Représentation des entiers négatifs ====
 
<math>1*64+1*32+1*16+1*8+0*4+1*2+1*1=1*2^{6}+1*2^{5}+1*2^{4}+1*2^{3}+0*2^{2}+1*2^{1}+1*2^{0}</math>
Pour compléter la représentation des entiers, il faut pouvoir écrire des entiers négatifs. On ajoute pour cela à la représentation un bit de signe, placé en tête. Un bit de signe nul indique une valeur positive, un bit de signe positionné à un une valeur négative. Cette règle permet de rester cohérent avec le système de représentation des entiers positifs : il suffit d'ajouter un 0 en tête de chaque valeur.
 
suite de 1010-10100
===== Complément à un =====
 
===Du système décimal vers le système binaire===
Ce codage, fort simple, consiste à inverser la valeur de chaque bit composant une valeur binaire.
Pour développer l'exemple ci-dessus, le nombre {{formatnum:45853}} écrit en base décimale provient de la somme de nombres ci-après écrits en base décimale. À dire vrai, pour proposer une méthode plus simple à comprendre, il faut trouver la puissance de 2 la plus grande possible inférieure ou égale au nombre de départ. On soustrait au nombre d'origine (RO) cette puissance, en notant un 1, puis l'on cherche à nouveau un multiple (RM) pour le reste (Rr).
 
* 1. RO= RM1+ Rr1
Par exemple, pour obtenir -5 :
* 2. Rr1=RM2+Rr2
* 3. Rr2=RM3+Rr3
 
...
0101 valeur décimale 5
1010 complément à un
 
32 768 1 fois 32 768 on fait 2 multiplié 14 fois par lui même soit 2<sup><small>15</small></sup>
Le souci avec un tel système est qu'il y a toujours deux représentations de la valeur 0 pour un nombre de bit donné.
+ 0 0 fois 16 384 on fait 2 multiplié 13 fois par lui même soit 2<sup><small>14</small></sup>
+ 8 192 1 fois 8 192 idem 12 idem 2<sup><small>13</small></sup>
+ 4 096 1 fois 4 096 idem 11 idem 2<sup><small>12</small></sup>
+ 0 0 fois 2 048 idem 10 idem 2<sup><small>11</small></sup>
+ 0 0 fois 1 024 idem 9 idem 2<sup><small>10</small></sup>
+ 512 1 fois 512 idem 8 idem 2<sup><small>9</small></sup>
+ 256 1 fois 256 idem 7 idem 2<sup><small>8</small></sup>
+ 0 0 fois 128 idem 6 idem 2<sup><small>7</small></sup>
+ 0 0 fois 64 idem 5 idem 2<sup><small>6</small></sup>
+ 0 0 fois 32 idem 4 idem 2<sup><small>5</small></sup>
+ 16 1 fois 16 idem 3 idem 2<sup><small>4</small></sup>
+ 8 1 fois 8 idem 2 idem 2<sup><small>3</small></sup>
+ 4 1 fois 4 idem 1 idem 2<sup><small>2</small></sup>
+ 0 0 fois 2 idem 0 idem 2<sup><small>1</small></sup> = 2
+ 1 1 fois 1 2<sup><small>0</small></sup> = 1
=45 853
 
Soit écrit en système positionnel et en numération décimale (en écrivant les puissances de 2) :
{{Détails|Complément à un}}
45 853 = 1×2<sup>15</sup> + 0×2<sup>14</sup> + 1×2<sup>13</sup> + 1×2<sup>12</sup> + 0×2<sup>11</sup> + 0×2<sup>10</sup> + 1×2<sup>9</sup> + 1×2<sup>8</sup> +
0×2<sup>7</sup> + 0×2<sup>6</sup> + 0×2<sup>5</sup> + 1×2<sup>4</sup> + 1×2<sup>3</sup> + 1×2<sup>2</sup> + 0×2<sup>1</sup> + 1×2<sup>0</sup>
 
Soit en système positionnel et en numération binaire puisque l'on ne reporte pas les puissances de 2
===== Complément à deux =====
45 853 décimal s'écrit 1011 0011 0001 1101 binaire (séparés par groupes de 4 bits pour aérer la lecture).
Ce nombre nécessite 16 bits pour son écriture (il est compris entre 2<sup>15</sup> et 2<sup>16</sup>).
L'autre méthode pour convertir un nombre décimal en base 2 est d'utiliser des successions de divisions par le nombre 2. Ainsi, on a:
 
45853 / 2 = 22926 reste 1
Afin de pallier ce défaut, on a introduit la représentation par complément à deux. Celle-ci consiste à réaliser un complément à un de la valeur, puis d'ajouter 1 au résultat.
22926 / 2 = 11463 reste 0
11463 / 2 = 5731 reste 1
5731 / 2 = 2865 reste 1
2865 / 2 = 1432 reste 1
1432 / 2 = 716 reste 0
716 / 2 = 358 reste 0
358 / 2 = 179 reste 0
179 / 2 = 89 reste 1
89 / 2 = 44 reste 1
44 / 2 = 22 reste 0
22 / 2 = 11 reste 0
11 / 2 = 5 reste 1
5 / 2 = 2 reste 1
2 / 2 = 1 reste 0
1 / 2 = 0 reste 1
Soit (en lisant les restes obtenus en sens inverse): 1011001100011101
 
===Entre les bases 2, 8 et 16===
Par exemple pour obtenir -5:
==== Du binaire vers octal ou hexadécimal ====
Les bases 8 (octale) et 16 (hexadécimale) sont des bases multiples de la base 2. Ces deux bases ont été couramment employées en informatique et pour des raisons pratiques; ces bases étant fortement liées à la base 2 et les nombres écrits dans ces bases étant plus "manipulables" (car d'écriture plus courte) par l'intellect humain. L'écriture de nombres dans ces bases est facilement obtenue par regroupement de chiffres de l'écriture du nombre en base 2.
 
* Octal : base 8 : <math>8 = 2^3</math>, il suffit de regrouper à partir de la droite et par paquets de 3 les chiffres binaires (voir [[bāguà]]). Chaque paquet de 3 (le dernier devant être parfois complété par des 0 à gauche), étant l'écriture binaire d'un chiffre en base 8 (0<sub>8</sub>=000, 1<sub>8</sub>=001, 2<sub>8</sub>=010, 3<sub>8</sub>=011, 4<sub>8</sub>=100, 5<sub>8</sub>=101, 6<sub>8</sub>=110, 7<sub>8</sub>=111).
0101 codage de 5 en binaire
:*10101101110<sub>2</sub> va s'écrire 10 101 101 110 et en convertissant la valeur de chacun des blocs en un chiffre octal, on obtient le nombre octal 2556<sub>8</sub>.
1010 complément à un
1011 on ajoute 1 : représentation de -5 en complément à deux
 
* Hexadécimal : base 16 : <math>16 = 2^4</math>, donc on regroupe à partir de la droite et par paquets de 4 les chiffres binaires. Chaque paquet de 4 bits étant la représentation binaire d'un chiffre en base 16. Il faut donc 16 chiffres, il a été décidé d'utiliser les 10 chiffres décimaux plus les 6 premiers caractères de l'alphabet avec la convention suivante: A<sub>16</sub>=10<sub>10</sub>=1010<sub>2</sub>, B<sub>16</sub>=11<sub>10</sub>=1011<sub>2</sub>, C<sub>16</sub>=12<sub>10</sub>=1100<sub>2</sub>, D<sub>16</sub>=13<sub>10</sub>=1101<sub>2</sub>, E<sub>16</sub>=14<sub>10</sub>=1110<sub>2</sub> et F<sub>16</sub>=15<sub>10</sub>=1111<sub>2</sub>.
Ce codage a l'avantage de ne pas nécessiter de différenciation spéciale des nombres positifs et négatifs, et évite en particulier le problème d'ordinateurs anciens ([[Control Data]] 6600) qui avaient un « +0 » et un « -0 » dont il fallait faire comprendre aux circuits de tests que c'était le même nombre ! Voici une addition de -5 et +7 réalisée en complément à deux sur 4 bits :
:*10101101110<sub>2</sub> va s'écrire 101 0110 1110 et en convertissant la valeur de chacun des blocs en décimal on obtient : 5, 6, 14 c'est-à-dire 56E<sub>16</sub>.
 
On pourrait facilement étendre ce principe à toutes les bases qui sont puissances de 2.
-5 1011
+7 0111
__ ____
2 (1) 0010 (on 'ignore' la retenue)
 
====Vers le binaire====
Avec n bits, ce système permet de représenter les nombres entre -2<sup>n-1</sup> et 2<sup>n-1</sup>-1.
 
Il suffit de convertir la valeur de chacun des chiffres sous leur forme binaire.
{{Détails|Complément à deux}}
:*1A2F<sub>16</sub> va s'écrire 1, 10<small>=8+2</small>, 2, 15<small>=8+4+2+1</small> soit 1&nbsp;1010&nbsp;0010&nbsp;1111<sub>2</sub>
:*156<sub>8</sub> va s'écrire 1, 5<small>=4+1</small>, 6<small>=4+2</small> soit 1&nbsp;101&nbsp;110<sub>2</sub>
 
===Table des valeurs des groupements de chiffres binaires===
{| style="border:0px;"
|
{|cellpadding="2" cellspacing="0" style="text-align:center; margin:6px; border:1px solid; background:#FFFFEE;"
! Binaire
! Décimal
! Octal
! Hexadécimal
|-
|0000
|0
|0
|0
|-
|0001
|1
|1
|1
|-
|0010
|2
|2
|2
|-
|0011
|3
|3
|3
|-
|0100
|4
|4
|4
|-
|0101
|5
|5
|5
|-
|0110
|6
|6
|6
|-
|0111
|7
|7
|7
|}
 
|
=== La soustraction ===
La soustraction en binaire se déroule de la même manière qu’en décimal.
 
{|cellpadding="2" cellspacing="0" style="text-align:center; margin:6px; border:1px solid; background:#FFFFEE;"
Principe de base :
! Binaire
:0 − 0 = 0
! Décimal
:0 − 1 = 1 (avec retenue)
! Octal
:1 − 0 = 1
! Hexadécimal
:1 − 1 = 0
 
Exemple de soustraction :
 
* * * * (les colonnes avec * contiennent des retenues)
1 1 0 1 1 1 0
− 1 0 1 1 1
----------------
= 1 0 1 0 1 1 1
 
=== Code de Gray ou binaire réfléchi ===
 
Ce codage permet de ne faire changer qu'un seul bit à la fois quand un nombre est augmenté d'une unité. Le nom du code vient de l'ingénieur américain [[Frank Gray]] qui déposa un brevet sur ce code en 1953. Monsieur Louis Gros publia en 1872 un opuscule où ce code était présenté pour la première fois en lien avec un casse-tête. Monsieur Gros était clerc de notaire à Lyon.
 
{| class="wikitable"
!colspan="2"|codage binaire classique
!colspan="2"|Codage Gray ou binaire réfléchi
|-
|0||0000
|0||0000
|-
|1000
|1||0001
|8
|1||0001
|10
|8
|-
|1001
|2||0010
|9
|2||0011
|11
|9
|-
|1010
|3||0011
|10
|3||0010
|12
|A
|-
|1011
|4||0100
|11
|4||0110
|13
|B
|-
|1100
|5||0101
|12
|5||0111
|14
|C
|-
|1101
|6||0110
|13
|6||0101
|15
|D
|-
|1110
|7||0111
|14
|7||0100
|16
|E
|-
|1111
|15
|17
|F
|}
 
|}
Pour passer d'une ligne à la suivante, on inverse le bit le plus à droite possible conduisant à un nombre nouveau.
 
Le nom de code binaire ''réfléchi'' vient d'une méthode de construction plus pratique pour choisir quel bit inverser quand on passe d'un nombre au suivant:
 
*On choisit un code de départ: ''zéro'' est codé 0 et ''un'' est codé 1.
*Puis, à chaque fois qu'on a besoin d'un bit supplémentaire, on symétrise les nombres déjà obtenus (comme une ''réflexion'' dans un miroir).
*Enfin, on rajoute un 0 au début des "anciens" nombres, et un 1 au début des nouveaux nombres.
 
Exemple :
 
0 0 0 .0 0 00 0 .00 0 000
1 1 1 .1 1 01 1 .01 1 001
miroir->------ 2 .11 2 011
2 .1 2 11 3 .10 3 010
3 .0 3 10 -------
4 .10 4 110
5 .11 5 111
6 .01 6 101
7 .00 7 100
 
Une autre méthode de calcul permettant de passer d'un nombre de Gray au suivant, et qui présente l'avantage de ne pas nécessiter de connaître l'ensemble des nombres précédents est la suivante :
*si le nombre de 1 est pair, alors le dernier chiffre doit être inversé
*sinon, il faut repérer le 1 situé le plus à droite et inverser le chiffre situé immédiatement à gauche de celui-ci.
 
Ce code est surtout utilisé pour des capteurs de positions, par exemple sur des règles optiques. En effet, si on utilise le code binaire standard, lors du passage de la position ''un'' (01) à ''deux'' (10), permutation simultanée de 2 bits, il y a un risque de passage transitoire par ''trois'' (11) ou ''zéro'' (00), ce qu'évite le code de Gray.
 
On remarquera que le passage du maximum (''sept'' sur 3 bits) à ''zéro'' se fait également en ne modifiant qu'un seul bit. Ceci permet par exemple d'encoder un angle, comme la direction d'une girouette :
0=''Nord'', 1=''Nord-Est'', 2=''Est'', ... 7=''Nord-Ouest''.
Le passage de ''Nord-Ouest'' à ''Nord'' se fait également sans problème en ne changeant qu'un seul bit (voir [[Roue de codage]]).
 
Le décodage des signaux lumineux d'un axe de [[Souris (informatique)#Technologie mécanique|souris mécanique]] est un décodage de code de Gray à 2 bits (décodage différentiel dans ce cas, car ce que l'on veut obtenir n'est pas la valeur décodée mais les transitions ±1 mod 4 de la valeur décodée).
 
Le code Gray sert également dans les [[Table de Karnaugh|tables de Karnaugh]] utilisées lors de la conception de circuits logiques.
 
Algorithme de codage d'un nombre n en code gray g :
 
g = n ^(n >> 1)
 
 
Algorithme de décodage rapide pour des mots de 64 bits (pour des mots de 32 bits, remplacer 32 par 16) :
 
long grayInverse(long n) {
long ish, ans, idiv;
ish = 1;
ans = n;
while(true) {
idiv = ans >> ish;
ans ^= idiv;
if (idiv <= 1 || ish == 32)
return ans;
ish <<= 1; // double le nb de shifts la prochaine fois
}
}
 
=== Décimal codé binaire (« binary coded decimal », ou ''BCD'') ===
 
Ce codage consiste à représenter chacun des chiffres de la numérotation décimale sur 4 bits:
 
1994 = 0001 1001 1001 0100
1×1000 + 9×100 + 9×10 + 4×1
 
Il présente l'avantage de simplifier la conversion avec la notation décimale.
 
Avec n bits (n multiple de 4), il est possible de représenter les nombres entre 0 et 10<sup>n/4</sup>-1. Soit approximativement entre 0 et 1.778<sup>n</sup>-1. Le BCD est un code redondant, en effet certaines combinaisons ne sont pas utilisées (comme 1111 par exemple).
 
Cette représentation évite par construction tous les problèmes gênants de cumul d'arrondi qui interviendraient lors de la manipulation de grands nombres dépassant la taille des circuits en arithmétique entière et obligent à recourir au flottant. Il est cependant possible de manipuler des [[nombre à précision arbitraire|nombres à précision arbitraire]] en utilisant un codage plus efficace que le BCD.
 
Il existe des variantes du codage BCD :
* code Aiken où 0, 1, 2, 3, 4 sont codés comme en BCD et 5, 6, 7, 8, 9 sont codés de 1011 à 1111. Il permet d'obtenir le complément à 9 en permutant les 1 et les 0.
* codage binaire excédant 3 qui consiste à représenter le chiffre à coder + 3.
 
{{Détails|Binary coded decimal}}
 
== Applications ==
=== Théorie de l'information ===
 
En [[théorie de l'information]], on peut utiliser le ''bit'' comme unité de mesure de l'information. La théorie elle-même est indifférente à la représentation des grandeurs qu'elle''' utilise.
 
=== Logique ===
 
La logique classique est une logique bivalente: une proposition est soit vraie, soit fausse. Il est donc possible de représenter la vérité d'une proposition par un chiffre binaire.
On peut par exemple modéliser les opérations de l'arithmétique binaire à l'aide de l'[[algèbre de Boole (logique)|algèbre de Boole]].
 
L'algèbre de Boole représente un cas très particulier d'usage des [[probabilité]]s ne faisant intervenir que les seules valeurs de vérité 0 et 1. Voir [[Théorème de Cox-Jaynes]].
 
=== Informatique ===
 
Le binaire est utilisé en informatique car il permet de modéliser le fonctionnement des composants de ''commutation'' comme le [[Transistor-Transistor logic|TTL]] ou le [[CMOS]]. La présence d'un seuil de tension au bornes des transistors, en négligeant la valeur exacte de cette tension, représentera 0 ou 1. Par exemple le chiffre 0 sera utilisé pour signifier une absence de tension à 0,5V près, et le chiffre 1 pour signifier sa présence à plus de 0,5V. cette ''marge de tolérance'' permet de pousser les cadences des microprocesseurs à des valeurs atteignant sans problème (hormis d'échauffement) plusieurs [[gigahertz]]. Ne sachant pas techniquement réaliser des composants électroniques à plus de deux états stables (0 ou plus de 0,5V), on n'utilise que la [[logique]] (bivalente) et donc le système binaire.
 
En [[informatique]], la représentation binaire permet de clairement manipuler des [[bit (informatique)|bits]] : chaque chiffre binaire correspond à un bit. La représentation binaire nécessitant l'usage de beaucoup de chiffres (même pour des nombres assez petits), ce qui entraînerait d'importants problèmes de [[lisibilité]] et donc de ''risques d'erreur'' de transcription pour les programmeurs on lui préfère pour eux une ''représentation'' parfois [[système octal|octale]] ou plus fréquemment [[système hexadécimal|hexadécimale]]. La quasi totalité des [[microprocesseur]]s actuels travaillant avec des mots de 8, 16, 32 ou 64 bits, la notation hexadécimale permet de manipuler l'information par paquets de 4 bits (contre 3 pour la notation [[système octal|octale]] plus populaire du temps des premiers [[mini-ordinateur]]s [[DEC]] à 12 ou 36 bits).
 
*63 <sub><small>[[système décimal|(10)]]</small></sub> = 111111 <sub><small>(2)</small></sub> = 77 <sub><small>[[système octal|(8)]]</small></sub> = 3F <sub><small>[[système hexadécimal|(16)]]</small></sub>
*64 <sub><small>[[système décimal|(10)]]</small></sub> = 1000000 <sub><small>(2)</small></sub> = 100 <sub><small>[[système octal|(8)]]</small></sub> = 40 <sub><small>[[système hexadécimal|(16)]]</small></sub>
*255 <sub><small>[[système décimal|(10)]]</small></sub> = 11111111 <sub><small>(2)</small></sub> = 377 <sub><small>[[système octal|(8)]]</small></sub> = FF <sub><small>[[système hexadécimal|(16)]]</small></sub>
*256 <sub><small>[[système décimal|(10)]]</small></sub> = 100000000 <sub><small>(2)</small></sub> = 400 <sub><small>[[système octal|(8)]]</small></sub> = 100 <sub><small>[[système hexadécimal|(16)]]</small></sub>
 
== Voir aussi ==
=== Articles connexes ===
 
* [[Format des données]]
* [[Algèbre de Boole (logique)|Algèbre de Boole]]
* [[SystèmeArithmétique binaire]]
* Calcul en [[virgulePréfixe flottantebinaire]]
* [[NombreVirgule négatifflottante]]
* [[Système bibi-binaire]] de [[Boby Lapointe]]
* [[Complément à un|Complément à 1]]
* [[Yin et yang]]
* [[Complément à deux|Complément à 2]]
* [[Auguste De Morgan]]
* [[Entier en précision multiple]]
 
=== Liens externes ===
*[http://philippe.berger2.free.fr/automatique/cours/numeration/numeration.htm Mise en œuvre de la numération]
{{Portail|logique|informatique}}
 
{{Lien AdQ|vi}}
{{Portail|informatique|mathématiques}}
 
[[Catégorie:ArithmétiqueSystème binairede numération|*Binaire]]
[[Catégorie:Calcul informatique]]
[[Catégorie:Calcul numérique]]
 
[[af:Binêre getallestelsel]]
[[ar:شيفرة منعكسة]]
[[ar:نظام عد ثنائي]]
[[bg:Огледален двоичен код]]
[[bg:Двоична бройна система]]
[[cs:Grayův kód]]
[[debs:Gray-CodeBinarni sistem]]
[[enca:GrayCodi codebinari]]
[[escs:CódigoDvojková Graysoustava]]
[[cv:Иккĕллĕ шутлав йĕрки]]
[[et:Gray kood]]
[[fida:Gray-koodiBinære talsystem]]
[[hede:קוד גרייDualsystem]]
[[el:Δυαδικό σύστημα]]
[[it:Codice Gray]]
[[en:Binary numeral system]]
[[ja:グレイコード]]
[[nleo:Gray-codeDuuma sistemo]]
[[ples:KodSistema Grayabinario]]
[[ptet:Código GrayKahendsüsteem]]
[[roeu:CodZenbaki-sistema Graybitar]]
[[fa:دستگاه اعداد دودویی]]
[[ru:Код Грея]]
[[fi:Binäärijärjestelmä]]
[[sk:Grayov kód]]
[[svfur:GraykodSisteme binari]]
[[gl:Código binario]]
[[th:รหัสเกรย์]]
[[vihe:בסיס Grayבינארי]]
[[hr:Binarni brojevni sustav]]
[[zh:格雷码]]
[[ht:Sistèm binè]]
[[hu:Kettes számrendszer]]
[[ia:Systema binari]]
[[id:Sistem bilangan biner]]
[[is:Tvíundakerfi]]
[[it:Sistema numerico binario]]
[[ja:二進法]]
[[ka:ორობითი რიცხვები]]
[[ko:이진법]]
[[la:Systema numericum binarium]]
[[lmo:Còdas binari]] {{Lien AdQ|lmo}}
[[lv:Binārā skaitīšanas sistēma]]
[[ml:ബൈനറി സംഖ്യാ രീതി]]
[[mr:द्विमान पद्धत]]
[[nl:Binair]]
[[nn:Totalssystemet]]
[[no:Binært tallsystem]]
[[pl:Dwójkowy system liczbowy]]
[[pt:Sistema binário (matemática)]]
[[ro:Sistem binar]]
[[ru:Двоичная система счисления]]
[[sd:انگن جو ڏونائي سرشتو]]
[[simple:Binary numeral system]]
[[sk:Dvojková číselná sústava]]
[[sl:Dvojiški številski sistem]]
[[sq:Sistemi binar]]
[[sr:Бинарни систем]]
[[sv:Binära talsystemet]]
[[th:เลขฐานสอง]]
[[tr:İkili sayılar]]
[[uk:Двійкова система числення]]
[[vi:Hệ nhị phân]]
[[vls:Binair reeknn]]
[[yi:ביינערי]]
[[zh:二进制]]