~~NOTOC~~
======Le code binaire======
Au collège, nous apprenons différents langages, le français mais aussi des langues vivantes, mortes ou régionales. En technologie, nous allons aussi apprendre le langage des ordinateurs.
**Compétence(s)**
* CT 4.1 : Décrire, en utilisant les outils et langages de descriptions adaptés, la structure et le comportement des objets.
* CT 4.2 : Appliquer les principes élémentaires de l’algorithmique et du codage à la résolution d’un problème simple.
**J’ai acquis la(les) compétence(s) si :**
* Je sais expliquer ce qu'est le système binaire et ses similitudes avec le système décimal
* Je suis capable (seul ou avec l'algorithme) de passer d'un système à l'autre
=====Rappel : Le système décimal ou base 10=====
{{ :cours:bin1.jpg?600 |}}
Au CP, on apprend à compter en **décimal ou base 10**.\\
**On utilise 10 chiffres (de 0 à 9)** pour écrire tout les nombres et un **tableau avec la ligne "valeur"**.\\
Si on place un nombre **dans un tableau, la colonne de droite vaut 1 et chaque autre colonne vaut la précédente multiplié par la base (ici base 10)**. Le nombre de colonne n'a pas d'importance.
**Un nombre se calcule en multipliant le chiffre de chaque colonne par la valeur de celle-ci et en ajoutant le tout**.
//En 4ème on apprend les puissances de 10 et on pourra remplacer les valeurs par les puissances.//
=====Le système binaire ou base 2=====
Les ordinateurs comptent en binaire ou base 2 (si l'électricité ne passe pas c'est 0, si elle passe c'est 1).
**On utilise 2 chiffres (de 0 et 1)** pour écrire tout les nombres. \\
(Les nombres deviennent long mais les ordinateurs travaillent très vite et sans erreurs.)
En décimal, j'ai appris la notation scientifique ou les grands nombres s'écrivent en regroupant les chiffres par 3. (Exemple : 012 658 427 douze millions six cent cinquante huit milles quatre cent vingt sept)
En binaire, les nombres se regroupent en **octet (= 8 informations binaires)** et les messages ont des longueurs multiples de 8. Exemple :
|le message binaire suivant | 010010011010010101010001 |
|est découpé en 3 octets | 01001001 01010001 10011101 |
- Je fais un tableau de 8 colonnes.
- J’inscris les valeurs multiples de 2 en commençant à droite par l’unité.
- Je reporte le nombre binaire à convertir en décimal ou converti à partir de celui-ci.
{{ :cours:tableau_binaire.jpg?400|}}
\\
Le système binaire (base 2) fonctionne comme le système décimal (base 10).
Je réalise un tableau de 8 colonnes, j'inscris la valeur de l'unité (1) à droite et je multiplie par la base pour inscrire les valeurs dans les colonnes suivantes vers la gauche.
=====Passage du binaire au décimal=====
Passage du binaire [01001001] au décimal [73].
Il suffit de repérer les valeurs à 1 et de les ajouter (64 + 8 + 1 = 73). \\
//En effet, un nombre multiplié par 0 = 0 et multiplié par 1 = lui même)//
{{ :cours:bin3.jpg?600 |}}
Je recopie les octets dans le tableau en commençant à les écrire à partir de la gauche.
{{ :cours:bin2.jpg?600 |}}
Comme en décimal, un nombre se calcule en multipliant le chiffre de chaque colonne par la valeur de celle-ci et en ajoutant le tout. \\
Pour le binaire, **on peut se contenter d'additionner les colonnes à 1**.
=====Passage du décimal au binaire=====
Passage du décimal [81] au binaire [01010001]
* Je fais le tableau de 8 colonnes.
* J’inscris les valeurs multiples de 2 en commençant à droite par l’unité.
Il suffit de soustraire les valeurs des colonnes.
{{ :cours:bin4.jpg?600 |}}
- Je démarre avec la colonne de gauche et je répète les actions suivantes jusqu'à la colonne de droite.
- Je regarde si la colonne est inférieure ou égale au nombre cherché.
- Si non : j'inscris 0.
- Si oui : j'inscris 1 et je retranche la valeur de la colonne au nombre à convertir.
- Si je ne suis pas à la dernière colonne, je me décale vers la droite et je recommence à l'étape 2.
Dans le tableau en commençant par la colonne de gauche, je soustrais la valeur de la colonne au nombre à convertir et j'écris 1 si c'est possible et 0 sinon. Je continue à la colonne suivante avec le résultat de la soustraction.
{{ :cours:bin4.jpg?600 |}}
Le décimal [81] correspond au binaire [01010001]
=====Pour aller plus loin=====
* [[https://fr.wikipedia.org/wiki/Syst%C3%A8me_binaire|Le système binaire sur Wikipédia]]