N.S.I. WorkSpace P-Th-A,Première A.1 – Représentation des nombres entiers en machine

A.1 – Représentation des nombres entiers en machine

Categories:

Écriture d’un nombre entier en base 10, 2 et 16

Écriture d’un nombre entier en base 2.

Soit le nombre entier suivant : 1483. Il est implicitement écrit en base 10, soit (1483)10

Il correspond à la décomposition suivante :

1 × 1000 + 4 × 100 + 8 × 10 + 3 x 1
ou encore 1 × 103 + 4 × 102 + 8 × 101 + 3 x 100

En utilisant cette méthode de décomposition il est possible d’écrire une même valeur d’un nombre entier dans d’autres bases.

Par exemple l’entier (58)10 correspond à (111010)2 en base 2 :

1 × 32 + 1 × 16 + 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1,
soit 1 × 25 + 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20

Donc (58)10 correspond à (111010)2 .

Ce qu’il faut retenir (CQFR), donc apprendre et comprendre

Toutes les données traitées par un système informatique sont représentées par des nombres écrits en base 2.
On parle de représentation binaire des données.
Pour l’écriture d’un nombre en binaire on utilise que deux chiffres : le 0 et le 1.

Il existe dans le langage de programmation Python une fonction native – bin() – qui permet de convertir en base 2 un nombre entier écrit en base 10. Pour en savoir plus…

ExercicesProgrammer des fonctions de conversion

Écrire une fonction en langage Python qui prend un nombre entier en argument et qui renvoie une chaîne de caractères constituée uniquement de ‘0’ et ‘1’, chaîne qui correspond à l’écriture en binaire du nombre entier passé en argument.

Écrire une fonction en langage Python qui prend une chaîne de caractères constituée uniquement de ‘0’ et ‘1’ en argument, chaîne qui correspond à l’écriture en binaire d’un nombre entier et qui renvoie la valeur de ce nombre en base 10.

Écriture d’un nombre entier en base 16.

Comme on ne disposition que de 9 chiffres, on utilise en complément les 6 premières lettres de l’alphabet : de A à F.

En utilisant toujours le même principe de décomposition, (1483)10 s’écrira de la façon suivante :
5 × 162 + 12 × 161 + 11 x 160, soit (5CB)16

Ce qu’il faut retenir (CQFR), donc apprendre et comprendre

En programmation on utilise également une autre base d’écriture des nombres entiers : la base 16.
On parle de représentation hexadécimale des données.
Pour l’écriture d’un nombre en hexadécimale on utilise les chiffres de 0 à 9, ainsi que les lettres de A à F. Ces lettres sont associées respectivement aux valeurs comprises entre 10 et 15.

Il existe dans le langage de programmation Python une fonction native – hex() – qui permet de convertir en base 16 un nombre entier écrit en base 10. Pour en savoir plus…

ExercicesProgrammer des fonctions de conversion

Écrire une fonction en langage Python qui prend un nombre entier en argument et qui renvoie une chaîne de caractères constituée des chiffres de ‘0’ à ‘9’ et des lettres allant de ‘A’ à ‘F’, chaîne qui correspond à l’écriture en hexadécimal du nombre entier passé en argument.

Écrire une fonction en langage Python qui prend une chaîne de caractères constituée uniquement des chiffres de ‘0’ à ‘9’ et des lettres allant de ‘A’ à ‘F’ en argument, chaîne qui correspond à l’écriture en hexadécimal d’un nombre entier et qui renvoie la valeur de ce nombre en base 10.