Revenir
Revenir

Langage machine

Les machines ne comprennent pas le système décimal de numération des humains qui s'appuie sur 10 chiffres...

Sommaire

Des bits et des octetsNumération binaire, décimale et hexadécimaleL'encodage ASCIITableau de conversion décimal, binaire, hexadécimalConversion décimal - binaire - SchémaConversion binaire - hexadécimal - Schéma
QuestionsDécouvrir le langage machine - Questions

Des bits et des octets

Les machines ne comprennent pas le système décimal de numération des humains qui s'appuie sur 10 chiffres (0, 1, 2, 3, ..., 9).
À cause de l'architecture de leur microprocesseur à base de transistors en mode commuté, les deux seuls chiffres qu'elles comprennent sont le 0 et le 1 : on parle de système de numération binaire.
Une information (chiffre, nombre, lettre, mot...) est donc toujours codée, en langage machine, sous la forme d'une suite ordonnée de 0 et de 1. Cette unité est appelé un bit.
L'octet est la plus petite unité permettant de coder et d'échanger une information entre des machines. Un octet est composé de 8 bits.

Numération binaire, décimale et hexadécimale

Le sytème de numération binaire fonctionne de la même manière que le système de numération décimal, sauf qu'à la place d'une base de 10, il utilise une base de 2.
Dans le système décimal, les unités du deuxième ordre (les « dizaines ») valent dix unités du premier ordre, les unités du troisième ordre (les « centaines ») valent dix unités du deuxième ordre, etc. En d'autres termes, un nombre décimal peut se décomposer en la somme des puissances de dix.
Par exemple, 9473 en base 10, que l'on note (9473)10pour indiquer le système décimal,  est la somme de 9 × 103 + 4 × 102 + 7 × 101 + 3 × 100, soit  9 × 1000 + 4 × 100 + 7 × 10 + 3 × 1.
Dans le système binaire, l'alphabet est composé des deux seuls chiffres 0 et 1. Un nombre binaire peut donc se décomposer en la somme des puissances de 2. 
Par exemple, le nombre 10101 en base 2, que l'on note (10101)2 pour indiquer le système de numération binaire, est la somme de 1 × 24 + 0 × 23 + 1 × 22 + 0 × 21 + 1 ×  20, soit, en système décimal 1 × 16 + 0 × 8 + 1 × 4 + 0 × 2 + 1 × 1, c'est-à-dire (21)10.
Les machines utilisent également couramment le système de numération hexadécimal, c'est-à-dire de base 16.

L'encodage ASCII

Le codage des caractères non accentués repose sur la norme ASCII (American Standard Code for Information Interchange) . L'ASCII définit 128 caractères numérotés de 0 à 127 et codés en binaire sur 8 bits (1 octet) de 00000000 à 01111111.

Tableau de conversion décimal, binaire, hexadécimal

Conversion décimal - binaire - Schéma

Pour convertir un nombre décimal en nombre binaire, on divise successivement par 2 et on conserve les restes.
Par exemple, pour convertir 43 en binaire :
  • on divise 43 par 2, ce qui donne 21, avec un reste 1 ;
  • on divise 21 par 2, ce qui donne 10, avec une reste 1 ;
  • on divise 10 par 2, ce qui donne 5, avec un reste 0 ;
  • on divise 5 par 2, ce qui donne 2, avec un reste 1 ;
  • on divise 2 par 2, ce qui donne 1, avec un reste 0 ;
  • il n'est plus possible de diviser le reste par 2 et en remontant les résultats des divisions, on obtient le nombre binaire (101011)2;
  • il est également possible de noter ce nombre sur un octet, c'est-à-dire 8 positions, ce qui donne (00101011)2.

Conversion binaire - hexadécimal - Schéma


Questions

Découvrir le langage machine - Questions

1. Qu'est-ce qu'un octet ?
2. Combien un octet peut-il stocker d'informations ?
3. Convertissez le nombre décimal 67 en binaire puis codez le sur 1 octet.
4. Comment code-t-on le nombre 67 en hexadécimal ?
5. Qu'est-ce que le code ASCII ? Quel est son principal inconvénient ?
6. Donnez le code ASCII décimal puis hexadécimal de la lettre minuscule z. Comment est-elle codée sur 1 octet en binaire ?
7. Même question pour la lettre majuscule Z.
8. Une séquence de 5 caractères est tapée sur le clavier d'un ordinateur. Cette séquence en binaire est la suivante : 01010011 01001110 01010100 00100000 00100001
Quelle est l'information codée ?
9. Quel est le code ASCII hexadécimal de la séquence composée des quatre caractères suivants : 2nde ?
10. Comment l'information précédente est-elle codée en binaire sous la forme de quatre octets ?