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

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
m nettoyage, Typos fixed: . A → . À , AWB
Ligne 1 : Ligne 1 :
{{Voir homonymes|Binaire}}
{{ébauche informatique}}
{{Voir homonymes|binaire}}


Le '''système binaire''' est un [[système de numération]] utilisant la [[Base (numération)|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]].
L''''arithmétique binaire''' est la manière dont on mène les calculs en base 2 ([[système binaire]]).


==Conversions==
C'est un des piliers de l'[[informatique]]. En effet, les processeurs de nos [[ordinateur]]s sont composés de millions de [[transistor]]s (imprimés sur un circuit électronique) qui chacun ne gère que 0 (le courant ne passe pas) et 1 (le courant passe).
===É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
On passe d'un nombre binaire au suivant en ajoutant 1, comme en décimal, sans oublier les retenues :
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


----
Un calcul informatique n'est donc qu'une suite d'opération sur des ''paquets'' de 0 et de 1, appelés [[octet]]s (constitué de 8 chiffres binaires).
''En binaire :''


0 represente l'état fermé
==Codage binaire==


1 represente l'état ouvert
Il existe différents systèmes numériques basés sur la représentation binaire.


Tout se lit en puissance de 2 c'est à dire :
===Numération de position===


[[Pour écrire 35 :]]
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.


32 16 8 4 2 1
====Représentation des entiers positifs====
1 0 0 0 1 1


On ouvre 32, 2 et 1 donc 32+2+1= 35...
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><sup>3</sup></small> + '''0'''×2<small><sup>2</sup></small> + '''1'''×2<small><sup>1</sup></small> + '''1'''×2<small><sup>0</sup></small>
59 = '''111011''' en binaire


===Expression d'un nombre===
Avec n [[bit (informatique)|bit]]s, ce système permet de représenter les nombres entre 0 et 2<sup>n</sup>-1. <!-- Aurait plutôt sa place dans un article [[compter sur ses doigts]]. -->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é).
Un nombre décimal à plusieurs chiffres tel que 123 s'exprime ainsi :
1 * 100 ( 1 * 10<sup>2</sup> )
+ 2 * 10 ( 2 * 10<sup>1</sup> )
+ 3 * 1 ( 3 * 10<sup>0</sup> )
Sa réprésentation en binaire est 1111011 et s'exprime de la même façon :
1 * 1000000 ( 1 * 2<sup>6</sup> )
+ 1 * 100000 ( 1 * 2<sup>5</sup> )
+ 1 * 10000 ( 1 * 2<sup>4</sup> )
+ 1 * 1000 ( 1 * 2<sup>3</sup> )
+ 0 * 100 ( 0 * 2<sup>2</sup> )
+ 1 * 10 ( 1 * 2<sup>1</sup> )
+ 1 * 1 ( 1 * 2<sup>0</sup> )


===Du système décimal vers le système binaire===
[Pour Robertv, avec 10 doigts on peut compter jusqu'à 1023.
Pour développer l'exemple ci-dessus, le nombre 45 853 é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 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).
En effet si chaque doigt représente une puissance de 2 avec la convention doigt levé, alors la puissance de 2 est retenue (1 en binaire); doigt replié, alors la puissance de 2 n'est pas retenue (0 en binaire).


* 1. RO= RM1+ Rr1
Doigt Main Puis. Valeur en
* 2. Rr1=RM2+Rr2
de 2 numération
* 3.Rr2=RM3+Rr3
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)


...
Ce qui 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].


32 768 1 fois 32 768 en fait 2 multiplié 15 fois par lui même soit 2<sup><small>15</small></sup>
====Représentation des entiers négatifs====
+ 0 0 fois 16 384 en fait 2 multiplié 14 fois par lui même soit 2<sup><small>14</small></sup>
+ 8 192 1 fois 8 192 idem 13 idem 2<sup><small>13</small></sup>
+ 4 096 1 fois 4 096 idem 12 idem 2<sup><small>12</small></sup>
+ 0 0 fois 2 048 idem 11 idem 2<sup><small>11</small></sup>
+ 0 0 fois 1 024 idem 10 idem 2<sup><small>10</small></sup>
+ 512 1 fois 512 idem 9 idem 2<sup><small>9</small></sup>
+ 256 1 fois 256 idem 8 idem 2<sup><small>8</small></sup>
+ 0 0 fois 128 idem 7 idem 2<sup><small>7</small></sup>
+ 0 0 fois 64 idem 6 idem 2<sup><small>6</small></sup>
+ 0 0 fois 32 idem 5 idem 2<sup><small>5</small></sup>
+ 16 1 fois 16 idem 4 idem 2<sup><small>4</small></sup>
+ 8 1 fois 8 idem 3 idem 2<sup><small>3</small></sup>
+ 4 1 fois 4 idem 2 idem 2<sup><small>2</small></sup>
+ 0 0 fois 2 idem 1 idem 2<sup><small>1</small></sup> = 2
+ 1 1 fois 1 idem 0 idem 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) :
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.
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 à un=====
45 853 décimal s'écrit 1011 0011 0001 1101 binaire (séparés par groupes de 4 bits)


On voit qu'il y a 16 bits.
Ce codage, fort simple, consiste à inverser la valeur de chaque bit composant une valeur binaire.


===Entre les bases 2, 8 et 16===
Par exemple, pour obtenir -5 :
==== Du binaire vers octal ou hexadécimal ====
* Octal : base 8 : <math>8 = 2^3</math>, donc on regroupe par paquets de 3 les chiffres binaires, à partir de la droite.
:*10101101110<sub>2</sub> va s'écrire 10 101 101 110 et en convertissant la valeur de chacun des blocs en décimal, on obtient le nombre octal 2556<sub>8</sub>.


* Hexadécimal : base 16 : <math>16 = 2^4</math>, donc on regroupe par paquets de 4 les chiffres binaires, à partir de la droite.
0101 valeur décimale 5
:*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>.
1010 complément à un


On pourrait facilement étendre ce principe à toutes les bases qui sont puissances de 2.
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é.


====Vers le binaire====
''voir article détaillé : [[complément à un]]''


Il suffit de convertir la valeur de chacun des chiffres sous leur forme binaire.
=====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===
Afin de palier 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.
{| 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
|}


|
Par exemple pour obtenir -5:


{|cellpadding="2" cellspacing="0" style="text-align:center; margin:6px; border:1px solid; background:#FFFFEE;"
0101 codage de 5 en binaire
! Binaire
1010 complément à un
! Décimal
1011 on ajoute 1 : représentation de -5 en complément à deux
! Octal
! Hexadécimal
|-
|-
|1000
|8
|10
|8
|-
|1001
|9
|11
|9
|-
|1010
|10
|12
|A
|-
|1011
|11
|13
|B
|-
|1100
|12
|14
|C
|-
|1101
|13
|15
|D
|-
|1110
|14
|16
|E
|-
|1111
|15
|17
|F
|}


|}
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 :


==Voir aussi==
-5 1011
+7 0111
__ ____
2 (1) 0010 (on 'ignore' la retenue)


* [[Format des données]]
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.
* [[Arithmétique binaire]]
* [[Préfixe binaire]]
* [[Virgule flottante]]
* [[Système bibi-binaire]] de [[Boby Lapointe]]
*[http://www.informatique-web.net/compter-et-calculer-dans-les-differentes-bases-numeriques/article-20-1.html ''Compter et calculer dans les différentes bases numériques'' sur Informatique-Web.net]


{{Multi bandeau|Portail logique|Portail informatique}}
''voir article détaillé : [[Complément à deux]]''

===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.

Codage binaire classique :
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111

Codage Gray ou binaire réfléchi :
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100


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

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 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.

===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 efficient 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édent 3 qui consiste à représenter le chiffre à coder + 3.

[[Binary coded decimal|En savoir plus]]

== 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 [[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)|bit]]s : 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 ==

* [[Algèbre de Boole (logique)|Algèbre de Boole]]
* [[Système binaire]]
* Calcul en [[virgule flottante]]
* [[Nombre négatif]]
* [[Complément à un|Complément à 1]]
* [[Complément à deux|Complément à 2]]
* [[Auguste De Morgan]]
*[http://www.informatique-web.net/compter-et-calculer-dans-les-differentes-bases-numeriques/article-20-1.html ''Compter et calculer dans les différentes bases numériques'' sur Informatique-Web.net]


{{Informatique}}
{{Lien AdQ|vi}}


[[Catégorie:Système de numération]]
[[Catégorie:Système de numération|Binaire]]
[[Catégorie:Informatique théorique]]
[[Catégorie:Calcul informatique]]
[[Catégorie:Calcul informatique]]
[[Catégorie:Calcul numérique]]


[[af:Binêre getallestelsel]]
[[bg:Огледален двоичен код]]
[[ar:نظام عد ثنائي]]
[[cs:Grayův kód]]
[[de:Gray-Code]]
[[bs:Binarni sistem]]
[[en:Gray code]]
[[ca:Codi binari]]
[[es:Código Gray]]
[[cs:Dvojková soustava]]
[[fi:Gray-koodi]]
[[da:Binære talsystem]]
[[he:קוד גריי]]
[[de:Dualsystem]]
[[el:Δυαδικό σύστημα]]
[[it:Codice Gray]]
[[en:Binary numeral system]]
[[nl:Gray-code]]
[[pl:Kod Graya]]
[[eo:Duuma sistemo]]
[[ro:Cod Gray]]
[[es:Sistema binario]]
[[ru:Код Грея]]
[[et:Kahendsüsteem]]
[[eu:Zenbaki-sistema bitar]]
[[zh:格雷码]]
[[fa:دستگاه اعداد دودویی]]
[[fi:Binäärijärjestelmä]]
[[fur:Sisteme binari]]
[[he:בסיס בינארי]]
[[hu:Kettes számrendszer]]
[[it:Sistema numerico binario]]
[[ja:二進記数法]]
[[ka:ორობითი რიცხვები]]
[[ko:이진법]]
[[la:Systema numericum binarium]]
[[nl:Binair]]
[[nn:Totalssystemet]]
[[no:Binært tallsystem]]
[[pl:Dwójkowy system liczbowy]]
[[pt:Sistema binário (matemática)]]
[[ro:Sistem binar]]
[[ru:Двоичная система счисления]]
[[simple:Binary numeral system]]
[[sk:Dvojková číselná sústava]]
[[sl:Dvojiški številski sistem]]
[[sr:Бинарни систем]]
[[sv:Binära talsystemet]]
[[th:เลขฐานสอง]]
[[vi:Hệ nhị phân]]
[[vls:Binair reekn'n]]
[[yi:ביינערי]]
[[zh:二进制]]

Version du 4 février 2007 à 10:37

Modèle:Voir homonymes

Le système binaire est un système de numération utilisant la base 2. On nomme couramment bit (de l'anglais binary digit, soit « chiffre binaire ») les chiffres de la numération binaire. Ceux ci ne peuvent prendre que deux valeurs, notées par convention 0 et 1.

Conversions

É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

On passe d'un nombre binaire au suivant en ajoutant 1, comme en décimal, sans oublier les retenues :

   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

En binaire :

0 represente l'état fermé

1 represente l'état ouvert

Tout se lit en puissance de 2 c'est à dire :

Pour écrire 35 :

32  16  8   4   2  1
 1   0  0   0   1  1

On ouvre 32, 2 et 1 donc 32+2+1= 35...

Expression d'un nombre

Un nombre décimal à plusieurs chiffres tel que 123 s'exprime ainsi :

  1 * 100  ( 1 * 102 )
+ 2 * 10   ( 2 * 101 )
+ 3 * 1    ( 3 * 100 )

Sa réprésentation en binaire est 1111011 et s'exprime de la même façon :

  1 * 1000000   ( 1 * 26 )
+ 1 * 100000    ( 1 * 25 )
+ 1 * 10000     ( 1 * 24 )
+ 1 * 1000      ( 1 * 23 )
+ 0 * 100       ( 0 * 22 )
+ 1 * 10        ( 1 * 21 )
+ 1 * 1         ( 1 * 20 )

Du système décimal vers le système binaire

Pour développer l'exemple ci-dessus, le nombre 45 853 é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 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
  • 2. Rr1=RM2+Rr2
  • 3.Rr2=RM3+Rr3

...

 32 768  1 fois  32 768  en fait 2 multiplié 15 fois par lui même soit 215
+     0  0 fois  16 384  en fait 2 multiplié 14 fois par lui même soit 214
+ 8 192  1 fois   8 192         idem         13      idem              213
+ 4 096  1 fois   4 096         idem         12      idem              212
+     0  0 fois   2 048         idem         11      idem              211
+     0  0 fois   1 024         idem         10      idem              210
+   512  1 fois     512         idem          9      idem              29
+   256  1 fois     256         idem          8      idem              28
+     0  0 fois     128         idem          7      idem              27
+     0  0 fois      64         idem          6      idem              26
+     0  0 fois      32         idem          5      idem              25
+    16  1 fois      16         idem          4      idem              24
+     8  1 fois       8         idem          3      idem              23
+     4  1 fois       4         idem          2      idem              22
+     0  0 fois       2         idem          1      idem              21 = 2
+     1  1 fois       1         idem          0      idem              20 = 1
=45 853

Soit écrit en système positionnel et en numération décimale (en écrivant les puissances de 2) :

45 853 = 1×215 + 0×214 + 1×213 + 1×212 + 0×211 + 0×210 + 1×29  + 1×28  + 
         0×27  + 0×26  + 0×25  + 1×24  + 1×23  + 1×22  + 0×21  + 1×20

Soit en système positionnel et en numération binaire puisque l'on ne reporte pas les puissances de 2

45 853 décimal s'écrit 1011 0011 0001 1101 binaire (séparés par groupes de 4 bits)

On voit qu'il y a 16 bits.

Entre les bases 2, 8 et 16

Du binaire vers octal ou hexadécimal

  • Octal : base 8 : , donc on regroupe par paquets de 3 les chiffres binaires, à partir de la droite.
  • 101011011102 va s'écrire 10 101 101 110 et en convertissant la valeur de chacun des blocs en décimal, on obtient le nombre octal 25568.
  • Hexadécimal : base 16 : , donc on regroupe par paquets de 4 les chiffres binaires, à partir de la droite.
  • 101011011102 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 56E16.

On pourrait facilement étendre ce principe à toutes les bases qui sont puissances de 2.

Vers le binaire

Il suffit de convertir la valeur de chacun des chiffres sous leur forme binaire.

  • 1A2F16 va s'écrire 1, 10=8+2, 2, 15=8+4+2+1 soit 1 1010 0010 11112
  • 1568 va s'écrire 1, 5=4+1, 6=4+2 soit 1 101 1102

Table des valeurs des groupements de chiffres binaires

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
Binaire Décimal Octal Hexadécimal
1000 8 10 8
1001 9 11 9
1010 10 12 A
1011 11 13 B
1100 12 14 C
1101 13 15 D
1110 14 16 E
1111 15 17 F

Voir aussi

Modèle:Multi bandeau

Modèle:Lien AdQ