Vous êtes sur une version archivée de lyceum.fr de l'année 2019/2020.  Revenir au présent.
Programme Officiel

Contenus

Capacités attendues

Commentaires

Écriture d’un entier positif dans une base b ⩾ 2

Passer de la représentation d’une base dans une autre.

Les bases 2, 10 et 16 sont privilégiées.

Lien vers le programme complet

Notation décimale

On a l'habitude d'écrire les nombres entiers naturels en notation décimale à position, dans ce système, on écrit de droite à gauche le nombre d'unités, de paquets de dizaines, de centaines, etc.

Chacun de ces nombres étant comprise entre 0 et 9, cela représente un ensemble de dix chiffres d’où le nom de notation décimale.

Les chiffres utilisés sont: 0 1 2 3 4 5 6 7 8 9

Quel est le sens de l'écriture 1789 en base 10?

1789 est l'addition de droite à gauche de neuf unités, huit dizaines, sept centaines, et un millier.

Soit mathématiquement:

1789 = 1 × 1 0 3 + 7 × 1 0 2 + 8 × 1 0 1 + 9 × 1 0 0 1789=1 \times 10^3 + 7 \times 10^2 + 8 \times 10^1 + 9 \times 10^0

Codage binaire

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 positionnelle. Ceux-ci ne peuvent prendre que deux valeurs, notées par convention 0 et 1.

C'est un concept essentiel de l'informatique. En effet, les processeurs des ordinateurs actuels sont composés de transistors ne gérant chacun que deux états.

article Wikipedia sur le système binaire

Actuellement, dans les systèmes numériques comme les ordinateurs, toutes les informations, qu'il s'agisse de nombres, de textes d'images, de sons ou encore de vidéos sont codées sous forme binaire.

Le système binaire est un système de numération positionnel utilisant la base deux.

Les chiffres utilisés sont: 0 1

Comment passer de la notation binaire à la notation décimale ?

1110 1110

111 0 2 1110_2 est l'addition de droite à gauche de zéro unité, une deuzaine, une quatraine, une huitaine.

Soit mathématiquement:

1110 = 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 0 × 2 0 = 14 1110=1 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 14

Remarque: on indique la base de numération par un indice à la fin du nombre.

Soit 111 0 2 = 1 4 10 1110_2 = 14_{10}

Comment passer de la notation décimale à la notation binaire ?

On regroupe les objets par paquets de 2 en réalisant des divisions successives jusqu'à obtenir un quotient égal à 0.

Trouver en base deux la représentation du nombre 1 3 10 13_{10}

13| 2
   |---
 1 | 6 | 2
       |---
     0 | 3 | 2
           |---
         1 | 1 | 2
               |---
             1 | 0

L'écriture du nombre se fait alors de droite à gauche:

1 3 10 = 110 1 2 13_{10} = 1101_{2}

On peut vérifier le résultat:

1110 2 = 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 0 × 2 0 = 1 3 10 {1110}_{2} = 1 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 13_{10}

L'octet

Les mémoires actuelles sont toutes composées de cellules mémoires capables de retenir un bit. En mettant pleins de ces cellules dans un seul composant, et en mettant quelques circuits électroniques pour gérer le tout, on obtient une mémoire.Source OpenClassroom

L’état d’un circuit mémoire, se décrit par une suite finie de 0 et de 1, que l’on appelle un mot. Par exemple, le mot 100 décrit l’état d’un circuit composé de trois circuits mémoire un bit, respectivement dans l’état 1, 0 et 0.

Dans la mémoire des ordinateurs les circuits mémoire un bit sont souvent groupés par huit : les octets. On utilise souvent des nombres exprimés en notation binaire, c’est-à-dire en base deux, sur un, deux, quatre ou huit octets, soit 8, 16, 32 ou 64 bits.

Un octet permet de représenter 2 8 2^8 , c'est-à-dire 256, valeurs différentes. Un ou plusieurs octets permettent ainsi de coder des valeurs numériques ou des caractères.

Codage hexadécimal

La notation binaire bien qu'adaptée aux composants électroniques, ne l'est pas du tout pour l'homme. Certains des premiers ordinateurs, comme l'EINAC utilisaient la base 10, cependant cette idée a été abandonnée en raison des difficultés que cela entraînaient au niveau électronique. La base 16, le système hexadécimal rend l'utilisation du binaire plus humaine.

Un chiffre hexadécimal est un mot de 4 bits puisque 2 4 = 16 2^4 = 16 .

Le système hexadécimal est utilisé notamment en électronique numérique et en informatique car il est particulièrement commode et permet un compromis entre le code binaire des machines et une base de numération pratique à utiliser pour les ingénieurs. En effet, chaque chiffre hexadécimal correspond exactement à quatre chiffres binaires (ou bits), rendant les conversions très simples et fournissant une écriture plus compacte.Source Wikipedia

Les chiffres utilisés sont: 0 1 2 3 4 5 6 7 8 9 a b c d e f

Voici les correspondances entre les bases hexadécimale, décimale et binaire.

Chiffre hexadécimal

Représentation décimale

Représentation binaire

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

A

10

1010

B

11

1011

C

12

1100

D

13

1101

E

14

1110

F

15

1111

Comment passer de la notation binaire à la notation hexadécimale?

Comment représenter le mot binaire de 16 bits: 1010101111100001

On est d'accord, en binaire, c'est inhumain, par contre en hexadécimal, cela devient beaucoup plus lisible et manipulable:

1010101111100001 2 = a b e 1 16 {1010101111100001}_2 = {abe1}_{16}

Ou si l'on tient vraiment à notre bonne vielle base 10:

a b e 1 16 = ( 10 × 1 6 3 + 11 × 1 6 2 + 14 × 1 6 1 + 1 × 1 6 0 ) 10 = 4400 1 10 abe1_{16}=(10 \times 16^3 + 11 \times 16^2 + 14 \times 16^1 + 1 \times 16^0)_{10}=44001_{10}

Pour passer de l’écriture binaire à l’écriture hexadécimale, il suffit de regrouper les chiffres 4 par 4.

Trouver en base seize la représentation du nombre 10110 1 2 101101_{2}

En base 2:    101101 = 0010 1101
En base 16:              2    D

Soit: 10110 1 2 = 2 D 16 101101_{2} = 2D_{16}

On peut vérifier le résultat en base 10:

101101 2 = + 1 × 2 5 + 0 × 2 4 + 1 × 2 3 + 1 × 2 2 + 0 × 2 1 + 1 × 2 0 = 1 3 10 {101101}_2 = + 1 \times 2^5 + 0 \times 2^4 + 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 13_{10}

Comment passer de la notation décimale à la notation hexadécimale ?

On regroupe les objets par paquets de 16 en réalisant des divisions successives jusqu'à obtenir un quotient égal à 0.

Trouver en base seize la représentation du nombre 25 5 16 255_{16}

 286  | 16
      |---
14(e)| 17 | 16
           |---
         1 | 1 | 16
               |---
             1 | 0 

L'écriture du nombre se fait alors de droite à gauche en remplaçant les nombres décimaux par leurs écritures hexadécimales:

28 6 10 = 11 e 16 286_{10} = 11e_{16}

On peut vérifier le résultat:

e 11 16 = 1 × 1 6 2 + 1 × 1 6 1 + 14 ( e ) × 2 0 = 256 + 16 + 14 = 28 6 10 {e11}_{16} = 1 \times 16^2 + 1 \times 16^1 + 14(e) \times 2^0 = 256 + 16 + 14 = 286_{10}

Opérations arithmétiques

Les règles utilisées en base dix s'appliquent de la même façon dans les autres bases.

Addition binaire

Réaliser l'addition binaire: 101 1 2 + 101 0 2 1011_2 + 1010_2

 (1) (1)
    1 0 1 1
  + 1 0 1 0
    -------
  1 0 1 0 1

On peut vérifier le résultat en base 10:

( 1011 2 = 1 1 10 ) + ( 1010 2 = 1 0 10 ) = 10101 2 = 2 1 10 ({1011}_2 = 11_{10})+({1010}_2 = 10_{10})={10101}_2 = 21_{10}

Addition hexadécimale

Réaliser l'addition hexadécimale: A 80 3 16 + 2 D 3 5 16 A803_{16} + 2D35_{16}

   (1)
    A 8 0 3
  + 2 D 3 5
    -------
    D 5 3 8

On peut vérifier le résultat en base 10:

( A 803 16 = 4301 1 10 ) + ( 2 D 35 16 = 1157 3 10 ) = D 538 16 = 5458 4 10 ({A803}_{16} = 43 011_{10})+({2D35}_{16} = 11 573_{10})={D538}_{16} = 54 584_{10}

Soustraction binaire

Réaliser la soustraction binaire: 101 1 2 101 0 2 1011_2 - 1010_2

    1 0 1 1
  - 1 0 1 0
    -------
    0 0 0 1

On peut vérifier le résultat en base 10:

( 1011 2 = 1 1 10 ) ( 1010 2 = 1 0 10 ) = 0001 2 = 1 10 ({1011}_2 = 11_{10})-({1010}_2 = 10_{10})={0001}_2 = 1_{10}

Soustraction hexadécimale

Réaliser la soustraction hexadécimale: A 80 3 16 2 D 3 5 16 A803_{16} - 2D35_{16}

     A  8  0  3
  -  2  D  3  5
    (1)(1)(1)
    -----------
     7  A  C  E

On peut vérifier le résultat en base 10:

( A 803 16 = 4301 1 10 ) ( 2 D 35 16 = 1157 3 10 ) = 7 A C E 16 = 3143 8 10 ({A803}_{16} = 43 011_{10})-({2D35}_{16} = 11 573_{10})={7ACE}_{16} = 31 438_{10}

Maintenant que vous avez tout compris, voici un lien vers un convertisseur en ligne.

http://www.binaryconvert.com/convert_unsigned_int.html

Conversions et opérations en python

Bien entendu comme ce genre d'opérations est courante en informatique, python possède des fonctions pour manipuler les nombres entiers en base décimale int, en base deux bin, en base seize hex.

Vous pouvez trouver quelques exemples de ces conversions sur cette réponse du forum de programmation an anglais stackoverflow