« 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}}
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
==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
(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:
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
----
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é
1 représente l'état ouvert
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 :
<math>1*2^{5}+0*2^{4}+0*2^{3}+0*2^{2}+1*2^{1}+1*2^{0} = 32 + 2 + 1 = 35</math>
donc le nombre décimal 35 se note 100011 en binaire.
===Expression d'un nombre===
Un nombre décimal à plusieurs chiffres tel que 123 s'exprime ainsi :
<math>1*100+2*10+3*1=1*10^{2}+2*10^{1}+3*10^{0}</math>
Sa représentation en binaire est 1111011 et s'exprime de la même façon :
<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>
suite de 1010-10100
===Du système décimal vers le système 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
* 2. Rr1=RM2+Rr2
* 3. Rr2=RM3+Rr3
...
32 768 1 fois 32 768 on fait 2 multiplié 14 fois par lui même soit 2<sup><small>15</small></sup>
+ 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) :
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
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
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===
==== 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).
:*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>.
* 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>.
:*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.
====Vers le binaire====
Il suffit de convertir la valeur de chacun des chiffres sous leur forme binaire.
:*1A2F<sub>16</sub> va s'écrire 1, 10<small>=8+2</small>, 2, 15<small>=8+4+2+1</small> soit 1 1010 0010 1111<sub>2</sub>
:*156<sub>8</sub> va s'écrire 1, 5<small>=4+1</small>, 6<small>=4+2</small> soit 1 101 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
|}
|
{|cellpadding="2" cellspacing="0" style="text-align:center; margin:6px; border:1px solid; background:#FFFFEE;"
! 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
|}
|}
==
* [[Format des données]]
* [[
*
* [[
* [[Système bibi-binaire]] de [[Boby Lapointe]]
* [[Yin et yang]]
*[http://philippe.berger2.free.fr/automatique/cours/numeration/numeration.htm Mise en œuvre de la numération]
{{Portail|logique|informatique}}
{{Lien AdQ|vi}}
[[Catégorie:
[[Catégorie:Calcul informatique]]
[[Catégorie:Calcul numérique]]
[[af:Binêre getallestelsel]]
[[ar:نظام عد ثنائي]]
[[bg:Двоична бройна система]]
[[
[[
[[
[[cv:Иккĕллĕ шутлав йĕрки]]
[[
[[
[[el:Δυαδικό σύστημα]]
[[en:Binary numeral system]]
[[
[[
[[
[[
[[fa:دستگاه اعداد دودویی]]
[[fi:Binäärijärjestelmä]]
[[
[[gl:Código binario]]
[[
[[hr:Binarni brojevni sustav]]
[[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:二进制]]
|