Binaire et Octal

1- Le système Binaire

La numération décimale se base sur les dix caractères numériques suivants: 1, 2, 3, 4, 5, 6, 7, 8, 9 et 0. Le nombre 10 est la combinaison du premier caractère (1) et du dernier caractère (0). Ce nombre est obtenu en ajoutant 1 au chiffre dont la valeur est la plus élevée (9).

Mais un nombre binaire contient les symboles 1 et 0 seulement. En binaire, le nombre 10 est aussi une combinaison du premier caractère (1) et du dernier caractère (0). Il est aussi obtenu en ajoutant 1 au signe ayant la valeur la plus élevée. Ce nombre 10 binaire (base 2) n'est pas le même que le dix du langage décimal (base 10). Pour éclaircir cette différence de base, nous allons voir les exemples ci-dessous.

  • Ⅰ- Le décimal 123, par exemple, est la forme simplifiée et compacte de l'expression suivante:

    1 x 102 + 2 x 101 + 3 x 100

    = 1 x 100 + 2 x 10 + 3 x 1

    et s'écrit 123 pour nous faciliter la vie.

  • ⅠⅠ- Le décimal 101 est composé comme suit:

    1 x 102 + 0 x 101 + 1 x 100

    = 1 x 100 + 0 x 10 + 1 x 1

    = 101

  • ⅠⅠⅠ- Le nombre 10 en binaire est équivalent au 2 décimal.

    = 1 x 21 + 0 x 20
    = 1 x 2 + 0 x 1

    = 2

  • Ⅳ- Le binaire 101 est la simplification de l'expression suivante:

    1 x 22 + 0 x 21 + 1 x 20

    1 x 4 + 0 x 2 + 1 x 1

    (5 décimal)

Un byte (octet) saturé a une valeur de 255.

Utilisez la touche F5 ou bien refresh button pour générer un byte différent.

Exemples

  • Ⅰ- Le nombre binaire 11010 à comprimer en décimal (Conversion, changement de base):

    1 x24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

    = 16 + 8 + 0 + 2 + 0

    = 26

  • ⅠⅠ-- Le nombre décimal 26 à convertir en binaire:

    • ll faut, tout d'abord, repérer la puissence de 2 la plus proche du nombre 26, et qui doit être inferieure ou égale à ce nombre.

      24 = 16
      26 - 16 = 10

      Mon 26 est égal à 1 x 24 + 10

    • Ce 10 contient: 1 x 23 = 8

      10 - 8 = 2

      Mon 26 est égal à 1 x 24 + 1 x 23 + 2

    • Le 2 est: 1 x 21

      Mon 26 est égal à 1 x 24 + 1 x 23 + 1 x 21

    • Mon nombre 26 est devenu:

      1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

      Simplifié: 1 1 0 1 0

ⅠⅠⅠ-Le nombre binaire 1011011101 est égal à:

1 x 29 + 0 x 28 + 1 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20

= 512 + 0 + 128 + 64 + 0 + 16 + 8 + 4 + 0 + 1

= 733

Ⅳ-Maintenant le chemin inverse, binarisons le décimal 733 afin d'éviter tout chiffre supérieur à 1.

Cherchons, d'abord, la puissance de 2 la plus proche de 733. Je vois déjà le nombre 29.

Notre 733 = 1 x 29 + (733 - 29).

= 1 x 29 + (733 - 512)

= 1 x 29 + 221

Detectons la puissance de 2 la plus proche de 221. C'est 27.

733 égale:

= 1 x 29 + 0 x 28 + 1 x 27 + (221 - 27)

= 1 x 29 + 0 x 28 + 1 x 27 + 93

93 couvre le 26. J'aurai donc:

= 1 x 29 + 0 x 28 + 1 x 27 + 1 x 26 + 29

Le reste ne couvre pas 25, mais il est supérieur à 1 x 24.

733 = 1 x 29 + 0 x 28 + 1 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 13

13 = 1 x 23 +1 x 22 + 0 x 21 + 1 x 20

Notre binaire est donc:

1 x 29 + 0 x 28 + 1 x 27 + 1 x 26 + 0 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20

= 1011011101

Questions:

Ⅰ- Quelle est la somme des bits d'un octet, exprimée en décimal, si chaque bit égale 1 (11111111)?

La somme égale deux fois la valeur du bit le plus à gauche moins 1.

2 x 128 - 1 = 255

ⅠⅠ- Quelle est la somme des bits de l'octet 00011111 (pas de signe 0 entre les 1)?

Deux fois la valeur du bit positif à gauche moins 1.

2 x b - 1

b est la valeur du bit positif le plus à gauche.

2 x 16 - 1 = 31

Enfin un octet peut contenir des valeurs positives allant de 1 (00000001) jusqu'à 255 (11111111). Chaque valeur est représentée par une combinaison unique. Mais n'oublions pas la combinaison neutrale 00000000. Ce qui porte le nombre totale des combinaisons possibles à 256.

2- Le système octal

Base = 10

Base = 8

  • Les caractères utilisés en langage octal sont: 1,2,3,4,5,6,7 et 0.

    Quelqu'un qui ignore encore les chiffres 8 et 9, arrive à compter jusqu'à sept. Pour continuer il doit, d'abord, ajouter 1 au chiffre 7 pour obtenir le nombre 10 octal (s'écrit 010, juste pour indiquer la base 8).

    010 veut dire: 1 x 81 + 0 x 80

  • La notation 567, par exemple, est la forme simplifiée de l'éxpression:

    5 x 102 + 6 x 101 + 7 x 100

    = 5 x 100 + 6 x 10 + 7 X 1

    = 567

  • Le nombre 0567 est aussi l'abréviation de:

    5 x 82 + 6 x 81 + 7 x 80
    = 0567

Le changement de base

Comment peut-on convertir le nombre décimal 123, par exemple, en octal?

  • La puissance de 8 la plus proche de 123 (mais inférieure ou égale à ce nombre) est 82 = 64.

    123 - 64 = 59

    Donc, le nombre 123 est la somme de 1 x 82 + 59.

  • La puissance de 8 la plus proche de 59, et qui ne le dépasse pas, est 81 = 8.

    Ce reste, 59 contient 7 fois 81.

    59 - 7 x 8 = 3

    Donc, le nombre 123 est la somme de 1 x 82 + 7 x 81 + 3.

  • Le résidu (3) est inférieur à 8. Ce 3 doit occuper le rang des unités.

    3 = 3 x 80

  • La version octale du décimal 123 sera, donc:

    1 x 82 + 7 x 81 + 3 x 80

    = 0173

  • - Le nombre 0173 à convertir en décimal:

    0173 = 1 x 82 + 7 x 81 + 3 x 80

    = 1 x 64 + 7 x 8 + 3 x 1

    = 64 + 56 + 3

    = 123

  • = 1 x 100 + 2 x 10 + 3 x 1

    = 1 x 102 + 2 x 101 + 3 x 100

    = 123