Présentation de l’information TS2

13
Objectifs : Comprendre comment les ordinateurs : 1- Représentent une information (nombre, caractère, image, son etc.) 2- Convertissent des entiers ou des nombres à virgule flottante en représentation binaire et vice versa 3- Réalisent des opérations mathématiques de base (addition, soustraction et multiplication) A- Système décimal Dans la vie courante, nous utilisons des nombres écrits en base 10. Exemples : 5615 = 5000 + 600 + 10 +5 5615 = 5x1000+6x100+1x10+5x1 5615= 5x10 3 + 6x10² + 1x10 +5x10 0 Ainsi les nombres entiers positifs sont écrits à l’aide des dix chiffres 0,1, 2,3 ……,9 La position de chaque chiffre indiquant à quelle puissance de 10 il est associé. Soit un nombre décimal N = 2348. Ce nombre est la somme de 8 unités, 4 dizaines, 3 centaines et 2 milliers. Nous pouvons écrire N = (2 x 10 3 ) + (3 x 10 2 ) + (4 x 10 1 ) + (8 x 10 0 ) 10 représente la base et les puissances de 0 à 3 le rang de chaque chiffre. Présentation de l’information TS2 Codage de l’information : codage du texte

Transcript of Présentation de l’information TS2

Page 1: Présentation de l’information TS2

Objectifs : Comprendre comment les ordinateurs :

1- Représentent une information (nombre, caractère, image, son etc.)

2- Convertissent des entiers ou des nombres à virgule flottante en représentation binaire et

vice versa

3- Réalisent des opérations mathématiques de base (addition, soustraction et multiplication)

A- Système décimal

Dans la vie courante, nous utilisons des nombres écrits en base 10.

Exemples :

5615 = 5000 + 600 + 10 +5

5615 = 5x1000+6x100+1x10+5x1

5615= 5x103 + 6x10² + 1x10 +5x100

Ainsi les nombres entiers positifs sont écrits à l’aide des dix chiffres 0,1, 2,3 ……,9

La position de chaque chiffre indiquant à quelle puissance de 10 il est associé.

Soit un nombre décimal N = 2348.

Ce nombre est la somme de 8 unités, 4 dizaines, 3 centaines et 2 milliers.

Nous pouvons écrire

N = (2 x 103

) + (3 x 102

) + (4 x 101) + (8 x 10

0)

10 représente la base et les puissances de 0 à 3 le rang de chaque chiffre.

Présentation de l’information

TS2 Codage de l’information : codage du texte

Page 2: Présentation de l’information TS2

B- Système binaire

Dans les domaines de l'automatisme, de l'électronique et de l'informatique, le plus petit élément

d’information utilisé, appelé bit, est obtenu en associant soit 0, soit 1 à un signal, nous utilisons la

base 2 (0 et 1) par exemple :

Un interrupteur est ouvert ou fermé

* Une diode est allumée ou éteinte

*Une tension est présente ou absente

* Une surface est réfléchissante ou pas (CD)

* Un champ magnétique est orienté Nord-Sud ou Sud-Nord (disque dur)

A chaque état du système technologique, on associe un état logique (binaire) : on est amené à

représenter les nombres en base 2 .On dispose de deux chiffres : 0 et 1

Le chiffre binaire qui peut prendre ces

deux états est nommés "Bit" (Binary digit)

Avec un bit nous pouvons coder deux états

Avec deux bits nous pouvons coder quatre

états

Avec trois bits nous pouvons coder huit

états

Page 3: Présentation de l’information TS2

Les nombres entiers positifs sont écrits suivant la même méthode positionnelle que dans la numération en base

10, en remplaçant les puissances de 10 par les puissances de 2.

Exemple : 3 = 2 + 1 = 1x21 +1x20 est noté 11 en base 2 et lu « un un »

3 = 112 où la base 2 est rappelée en indice pour éviter la confusion avec le nombre 11.

6 = 4 + 2 = 1x22 + 1x21 + 0x20 est noté 110 en base 2.

6 = 1102 lu « un un zéro »

L’écriture 101101 en binaire correspond en décimal à :

1x25 +0x24 + 1x23+1x2²+0x21 +1x20 = 32 +8 +4+1 = 45

Comme dans la numération en base 10, les puissances de 2 d’exposant négatif permettent des nombres avec

virgule en base 2.

2-1 =

= 0,5 ; donc 0,5 = 1x2-1 est noté 0,1 en binaire et lu « zéro virgule1 »

2-2 =

= 0,25 ; donc 0,25 = 0x2-1 + 1x2-2 est noté 0,01 en binaire

2-1 + 2-2 = 0,5 +0,25 ; donc 0,75 = 1x2-1 + 1x2-2 est noté 0,11 en binaire

A chaque nouveau bit, le nombre de combinaisons possibles est doublé.

Ce nombre est égal à 2 puissance N (N étant le nombre de bits).

Un groupe de bits est appelé un mot, un mot de huit bits est nommé un octet (byte).

Avec un octet, nous pouvons écrire 2 puissance 8 = 256 nombres binaires de 0 à 25

Description d'un octet.

Numération en base 16

Le système de numération binaire présente un incovénient important : il nécéssite l’utilisation d’un nombre

relativement elevé de bits pour écrire un nombre entier dès que celuici atteint quelques dizaines.

Pour remédier à ça, on utilise un système dont la base est une puissance de 2 : Le système hexadécimal qui est

le système de numération en base 16= 24

Le système hexadécimal ( 16 bits ) permet de réduire la longueur des mots et facilite leur manipulation. Ce

système comporte 16 symboles, les 10 chiffres du système décimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) et

les 6 premières lettres de l’alphabet (A,B,C,D,E,F).

L’ordinateur comprend et utilise le code hexadécimal.

Page 4: Présentation de l’information TS2

Tableau de correspondance entre les systèmes.

Décimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Hexadécimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

Binaire à

quatre bits

0000 0001 0011 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Dans le système hexadécimal, les nombres entiers positifs sont écrits à l’aide des seize symboles

0,1,………9,A,…F.

La position de chacun correspondant à une puissance de 16.

Ainsi :

38 = 32+6 = 2x161+6x160 est 26 en hexadécimal et noté 2616

164 = 160+4 = 10x161 + 4x160 est noté A4 en hexadécimal

Conversion entre bases

a. Conversions hexadécimal / décimal

a.1. Passer du code hexadécimal ( base 16 ) au code décimal ( base 10 )

B35A(16) = A 160 + 5 161 + 3 162 + B 163

B35A(16) = 10 1 + 5 16 + 3 256 + 11 4096 = 45914(10)

Question :

Ecrire 2A3 ( 16 ) et 1AD7 ( 16 ) en code décimal.

Ecrire 379(16) en code décimal

a.2. Passer du code décimal ( base 10 )au code hexadécimal ( base 16 )

On veut écrire le nombre 63650(10) en base 16. En divisant successivement par 16, on obtient :

63650(10) = 2 160 + 10 161 + 8 162 + 15 163

63650(10) = 2 160 + A 161 + 8 162 + F 163

63650(10) = F8A2 (16)

Question :

Ecrire le nombre 6887 ( 10 ) en code hexadécimal.

Ecrire 1123(10) en code hexadécimal.

63650 16

156 3978 16 125 77 248 16 130 138 88 15 2 10 8

Page 5: Présentation de l’information TS2

b. Conversions hexadécimal / binaire

b.1. Du code binaire ( base 2) au code hexadécimal ( base 16 ).

1ère méthode :

On procède en 2 étapes :

passer du binaire au décimal

passer du décimal à l’hexadécimal

Exercice : Vérifier que 10110111101 ( 2 ) = 1469 ( 10 ) = 5BD ( 16 ).

2ème méthode

On découpe le nombre binaire en quartets, à partir de la droite puis on remplace chaque quartet par le symbole

hexadécimal correspondant.

En reprenant l’exemple précédent, on peut remarquer que :

10110111101(2) = 0101 1011 1101 = 5BD (16)

3 ème Méthode

Exercices : Ecrire le nombre 1111010100001010 (2 ) puis 27 ( 10 ) en code hexadécimal. b.2. Du code hexadécimal ( base 16 ) au code binaire ( base 2).

Ecrire le nombre 70E ( 16 ) en code binaire.

Méthode :

c. Correspondance entre binaire et décimal.

Conversion d'un nombre binaire en décimal

Il suffit donc de faire la somme des poids de chaque bit à 1

Le nombre ci dessus est égal à 64 + 4 + 1 = 69

d. Conversion d'un nombre décimal (entier) en binaire

Exemple : Conversion d'un nombre décimal en binaire (exemple : N = 172)

Page 6: Présentation de l’information TS2

Méthode par soustraction

Méthode par divisions

e. Conversion d'un nombre décimal (avec virgule) en binaire Exemple 1 : 0.625

0.625 * 2 = 1.250 poids 1*2-1

0.250 * 2 = 0.500 poids 0*2-2

0.500 * 2 = 1.000poids 1*2-3

On a donc (0.625)10

= (0.101)2

Exemple 2 : 12.625 (12)10 = (1100)2 (12.625) = (1100.101)2

et (0.625)10 = (0.101)2

Page 7: Présentation de l’information TS2

Exemple 3 : 0.325

0.325 * 2 = 0.650 poids 1*2

-1

0.650 * 2 = 1.300 poids 0*2

-2

0.300 * 2 = 0.600 poids 0*2

-3

0.600 * 2 = 1.200 poids 1*2

-4

0.200 * 2 = 0.400 poids 0*2

-5

0.400 * 2 = 0.800 poids 0*2

-6

0.800 * 2 = 1.600 poids 1*2

-7

0.600 * 2 = 1.200 poids 1*2

-8

0.200 * 2 = 0.400 poids 0*2

-9

0.400 * 2 = 0.800 poids 0*2

-10

0.800 * 2 = 1.600 poids 1*2

-11

On a donc (0.322)10 = (0.010 1001 1001 1001)2

La manipulation des nombres écrits en binaire est une opération fastidieuse en raison de la taille des codes

obtenus. Il serait donc judicieux d'utiliser un autre système qui permet de réduire la longueur de ces codes.

C'est pourquoi nous utilisons de préférence le système hexadécimal (base 16).

Les règles sont ici aussi les mêmes que pour le décimal.

Correspondance entre binaire et hexadécimal

La conversion du binaire en hexadécimal est très simple, c'est d'ailleurs la raison pour laquelle nous utilisons

cette base.

Il suffit de faire correspondre un mot de quatre bits

(quartet) à chaque chiffre hexadécimal.

Conversion d'un mot de 16 bits entre binaire et Hexadécimal

Page 8: Présentation de l’information TS2

Correspondance entre décimal et hexadécimal La méthode par divisions s'applique comme en binaire (exemple : N = 2623).

(2623)10 = (A3F)16

Exemple 2 : 7254

Opérations arithmétiques et logiques Addition en binaire L’addition est réalisée bit à bit

0 + 0 = 0

1 + 0 = 1

1 + 1 = 10

10 en binaire correspond à 2 en décimal

Page 9: Présentation de l’information TS2

Exemple :

45

0

0

1

0

1

1

0

1

+

55

0 0 1 1 0 1 1 1

=

100

0

1

1

0

0

1

0

0

Produit logique et binaire

0 * 0 = 0

0 * 1 = 0

1 * 0 = 0

1 * 1 = 1

Codage ASCII

Pour coder les caractères, on associe à chacun d'entre eux un code binaire, c'est le codage ASCII

(American Standard Code for Information Interchange).

Le caractère A code 65 soit 01000001 en binaire.

Le caractère f code 102 soit 001100110 en binaire

le point d'interrogation ? code 63 soit 00111100 en binaire

Le chiffre 2 code 50 soit 00110010 en binaire.

Page 10: Présentation de l’information TS2
Page 11: Présentation de l’information TS2

Convertir du binaire en hexadécimal

Première étape : prendre des paquets de 4 bits

Cette première étape est toute facile, il suffit juste de toujours prendre des regroupements de 4 bits. Voici des

exemples concrets pour bien vous expliquer ce que cela signifie :

Exemple 1 :

1(binaire) = 0001

101(binaire) = 0101

Lorsque vous avez moins de 4 bits, alors vous rajoutez des zéros devant pour atteindre le nombre de 4

bits demandé.

Exemple 2 :

10011011(binaire) = 1001 1011

111001(binaire) = 0011 1001

Lorsque vous avez plus de 4 bits, alors vous mettez des espaces pour séparer tous les paquets de 4 bits

(n'oubliez pas de rajouter des zéros si il le faut).

Exemple 3 :

Page 12: Présentation de l’information TS2

1110101110011011(binaire) = 1110 1011 1001 1011

Comme pour l'exemple 2, il faut mettre des espaces pour faciliter la lecture et le calcul à venir.

Deuxième étape (méthode facile) : se reporter au tableau de conversion binaire-hexadécimal

La deuxième étape est presque aussi facile que la première. Il suffit de prendre chaque regroupement de 4 bits et

de faire la correspondance entre le binaire et le décimale.

Exemple 1 :

0001(binaire) = 1(hexa)

0110(binaire) = 6(hexa)

1011(binaire) = B(hexa)

Dans chacun des exemples ci-dessus ce n'est pas trop dur, il vous suffit juste de consulter le tableau de

conversion au début de ce cours.

Exemple 2 :

10(binaire) = 0010(binaire) = 2(hexa)

110(binaire) = 0110(binaire) = 6(hexa)

N'oubliez pas de faire la première étape lorsqu'il n'y a moins de 4 bits.

Exemple 3 :

1011 1001 0011(binaire) = B93(hexa)

Explication :

1011(binaire) = B(hexa)

1001(binaire) = 9(hexa)

0011(binaire) = 3(hexa)

Deuxième étape (méthode difficile) : cas général

Pour retrouver le tableau il faut d'abord convertir en décimal puis il suffit de faire une conversion de décimal à

hexadécimal.

Exemple 1 :

0(binaire) = 0x20 = 0x1 = 0(décimal) = 0(hexadécimal)

1(binaire) = 1x20 = 1x1 = 1(décimal) = 0(hexa)

Exemple 2 :

0011(binaire) = 11(binaire)

0011(binaire) = 1x21 + 1x2

0

0011(binaire) = 1x2 + 1x1

0011(binaire) = 2 + 1 = 3(décimal) = 3(hexa)

1111(binaire) = 1111(binaire)

1111(binaire) = 1x23 + 1x2

2 + 1x2

1 + 1x2

0

1111(binaire) = 1x8 + 1x4 + 1x2 + 1x1

1111(binaire) = 8 + 4 + 2 + 1 = 15(décimal) = F(hexa)

.Si vous avez bien regardé vous verrez qu'il y a une chose primordiale qui compte pour faire ce calcul :

l'emplacement des "1" dans le nombre en binaire.

Pour le bit tout à droite vous devez lui attribuer 20 (ce qui correspond à 1).

Page 13: Présentation de l’information TS2

Exemple 3 :

1001(binaire) = 1001(binaire)

1001(binaire) = 1x23 + 0x2

2 + 0x2

1 + 1x2

0

1001(binaire) = 1x8 + 0x4 + 0x2 + 1x1

1001(binaire) = 8 + 0 + 0 + 1 = 9(hexa)

N'oubliez pas de multiplier par 0 si le bit est à zéro et par 1 si le bit est à un.

Exemple 4 :

1001 1011(binaire) = calcul de 1001 en décimal puis calcul de 1011 en décimal

1001 1011(binaire) = 1x23 + 0x2

2 + 0x2

1 + 1x2

0 puis 1x2

3 + 0x2

2 + 1x2

1 + 1x2

0

1001 1011(binaire) = 1x8 + 1x1 puis 1x8 + 1x2 + 1x1

1001 1011(binaire) = 8 + 1 puis 8 + 2 + 1

1001 1011(binaire) = 9 puis 11

1001 1011(binaire) = 9(décimal) puis B(décimal) = 9B(hexa)

Cet exemple vous permet de calculer avec des suites de bits plus grands. Cette suite de nombre plus

grand vous permet aussi de remarquer qu'il faut toujours calculer par paquet de 4 bits, c'est important.

Convertir l'hexadécimal en binaire

Exemple 1 :

1(hexa) = 0001(binaire)

6(hexa) = 0110(binaire)

B(hexa) = 1011(binaire)

Pour résoudre ces exemples, utilisez le tableau que j'ai fournis en tout début de ce cours.

Exemple 2 :

AB(hexa) : A=1010 et B=1011 donc :

AB(hexa) = 1010 1011(binaire)

11(hexa) = 0001 0001(binaire)

80(hexa) = 1000 0000(binaire)

FF(hexa) = 1111 1111(binaire)

Exemple 3 :

B931(hexa) = 1011 1001 0011 0001(binaire)

Explication :

B(hexa) = 1011(binaire)

9(hexa) = 1001(binaire)

3(hexa) = 0011(binaire)

1(hexa) = 0001(binaire)