Notion de Codage
Notion de Codage
Notion de Codage
Bit : C'est la plus petite unité d'information manipulable par une machine
numérique. Elle signifie "binary digit", c'est-à-dire 0 ou 1 en numérotation
binaire :
A partir d’un bit, il est possible d’obtenir 2 états : 1 ou 0.
Avec 2 bits, il est possible d’obtenir 4 états (2*2) : 00, 01, 10, 11.
Avec 3 bits, il est possible d’en obtenir 8 (2*2*2) : 000, 001, 010, 100,
011, 110, 111, 101.
Avec n bits, il est donc possible d’obtenir 2n états différents.
1
Hertz : L'unité est l’hertz (Hz). C'est un nombre d'opération par seconde. Pour
un processeur, c'est le nombre d'opérations élémentaires effectuées. Plus il est
élevé, en MHz, millions de hertz, plus le processeur est rapide.
Les unités de mesure :
1 octet = 1 byte = 8 bits (1bit peut valoir 0 ou 1)
1 octet peut donc avoir 256 (28) valeurs
Exemple :
3To = …………………. Ko
3 x 1024 x 1024 x 1024 = 3 x 10243
8192 Bits = ………………. Ko
8192 / 8 x 1024
Exercice 1 :
Soit un fichier téléchargée à partir d’internet de taille 130 Mo. Convertir cette
taille en : bits, Octets, Ko, Go, To.
Exercice 2 : Conversion les tailles suivantes :
25 MB = ......................................... Octet
0,2 KB = ......................................... Octet
24 bits = ......................................... Octet
15 KB = .......................................... Octet
12500000000 Octet =..........................GB
2
3 GB = ............................................... MB
512 MB = ........................................... GB
128000 Octet = ...................................KB
0,015 MB = ..........................................KB
1236 KB = .......................................... MB
Exercice 3 :
50 Octet =…………………………………………………………………..bits
14 Ko = ………………………………………………………………………. Octet
1580 Mo = ………………………………………………………………….. Go
1,45 To = ……………………………………………………………… Mo
20 Go = ............................................ Mo
128 Mo =........................................Octet
1250 Octet = ..................................... Ko
0,03 Go = ......................................... Mo
34000 Mo = ...................................... Go
10 Octet =...........................................Bit
0,0003 Go = ...................................Octet
Exercice 4 :
Ilyes a un flash disk de capacité 8 Go il a stocké 3 fichiers dans son flash disk de
tailles respectives : 1,87 Go, 4096 Mo, 300 Mo. Ilyas a donné son flash disk à
manel pour li copier un film de 2 Go
Est-ce que manel peut copier son film sur flash ? (oui/non) pourqoui ?
Exercice 5 :
Atman possède un lecteur MP3 d’une capacité de 2Go. Un morceau de
musique fait en moyenne 7 Mo. Combien de morceaux de musique Atman
pourra-il enregistrer sur son lecteur MP3 ?
3
Appliquer les systèmes de numérotation
I- Base d’un système de numérotation
Un système de numération se définit par deux éléments :
La base du système
Les symboles du système
Exemple :
Exercice Appliquer :
1010 0111 = 1x27 + 0x26 + 1x25 + 0x24 + 0x23 + 1x22 + 1x21 + 1x20
1010 0111 = 167(10)
11101101 = 1x27 + 1x26 + 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 1x20
11101101 = 237(10)
Passage de la base 10 à la base 2 :
4
Le résultat est constitué des restes des divisions lus de droite à gauche. Ici, on
obtient : (57)10 = (1 11001)2
Exemple 2 :
Convertir le nombre décimal 34,3 en binaire
34 en base 10 s’écrit 100010 en base 2
0,3en base 10 s’écrit en base 2 :
5
Passage de base 10 à la base 8 :
Le passage de la base 10 à la base 8 s’effectue de la même manière que le
passage de la base 10 à la base 2.
Soit à convertir en octal le nombre X=(646)10
Hexadécimal Décimal
0 0
1 1
2 2
. .
. .
9 9
A 10
B 11
C 12
D 13
E 14
F 15
Exemple :
(A24) 16 est un nombre hexadécimal
(AG12) n’est pas un nombre hexadécimal puisque la lettre G n’appartient pas à
l’alphabet de la base 16
Passage de base 16 à la base 10 :
Soit le nombre X= (A24)16 pour exprimer X en décimal :
6
(X) 10 = A×162 + 2×161 + 4×160
Le tableau précédent nous donne l’équivalent de la lettre A en décimal :
(X) 10 = 10×162 + 2×161 + 4×160
(X) 10 = (2596)10
Passage de base 10 à la base 16 :
Là encore, il est question d’appliquer la méthode des divisions successives sur
la base (16).
1- Codage :
Définition :
Le codage est la conversion d’un nombre décimal en un système de base «B». Il
s’obtient en divisant successivement le nombre décimal par B jusqu’au
7
moment où le quotient devient nul. Le nombre cherché sera obtenu en
écrivant les restes du bas vers le haut.
Exemples : Coder le nombre décimal (45)10 en binaire puis en hexadécimal
2- Décodage :
Définition :
Le décodage est l’opération inverse du codage. La somme des pondérations
donne directement l’équivalent décimal du nombre.
Exemples :
Décoder les nombres suivants : 101110(2), 2CA(16), 124(8)
3- Transcodage :
Définition :
Le transcodage d’un nombre est le passage entre deux systèmes autres que le
décimal.
Méthode de transcodage :
D’une manière générale pour transcoder un nombre d’une base «B1» en une
base «B2 », il faut décoder le nombre écrit en base «B1», puis coder le nombre
résultat du décodage, dans le système de base «B2».
Le transcodage peut être réalisé directement de la base «B1» vers la base «B2»
dans les cas particuliers suivants :
Conversion hexadécimal – binaire :
Il s’agit de remplacer chacun symbole hexadécimal par les 4 bits appropriés,
comme l’illustre l’exemple suivant.
Déterminez l’équivalent binaire du nombre hexadécimal CF03(16)
Conversion binaire – hexadécimal :
Il s’agit de diviser le nombre binaire en groupe de 4 bits et de remplacer chacun
de ces groupes par le symbole hexadécimal équivalent, comme l’illustre
l’exemple suivant.
Convertir 10101001101(2) en base 16
Conversion Octal – binaire :
La base 8 est une puissance de la base 2. Pour convertir un nombre octal en
binaire, cela veut dire que pour représenter un seul chiffre octal en binaire, il
faut utiliser 3 bits.
8
Ainsi, la représentation des chiffres de la base 8 en binaire est la suivante :
1 7 5 Octal
0 Binaire
0 1 1 1 1 1 0 1
X= (175)8= (1111101)2
Application 2 :
Soit le nombre binaire Y= (1111101)2 = ( ?) 8 :
Pour trouver l’équivalent octal de ce nombre binaire, il faut :
- Regrouper les bits du nombre binaire en groupe de 3bits en partant de la
droite. Si le dernier groupe ne contient pas trois bits, ajouter des zéros.
- Trouver l’équivalent octal de chaque groupe de 3 bits
0 0 1 1 1 1 1 0 1 Binaire
1 7Octal 5
Exemple :
9
(1, BSC) 16 = ( ?)8
Résultat : (15,534)8
10
Multiplication : La multiplication binaire s’effectue selon le principe des
multiplications décimal, on multiplie donc le multiplicande par chacun des bits
du multiplicateur.
11
V- La complémentation :
1- Représentation des entiers signés :
Ce sont des nombres possédant un signe + ou -, il existe 3 méthodes pour les
représenter :
a) SVA : Signe et Valeur Absolue
b) Cà1 : Complément à 1
c) Cà2 : Complément à 2
Exemple :
(-5)= (1101)sva=(1010)cà1=1010+1=1011cà2
Exemple :
+6+5= 0110 + 0101 = 1011 débordement (il manque d’espace)
Exercice d’application :
Donner le complément à 2 des nombres signés sur 8 bits :
-1 -57 -128 -160
Réaliser les opérations suivantes sur 8 bits :
-3 -5
+ - 127 +-4
= - 130 = -9
13
VI- Les opérations sur des systèmes :
1. Addition en système hexadécimale :
14
VII- Présentation des nombres réels :
Comment représenter la virgule dans la machine ?
Comment indiquer à la machine la position de la virgule ?
Virgule fixe
Virgule flottant
Exemple :
101,01(2) =1.22+0.21+1.20+0.2-1+1.2-2 = 5,25(10)
4,25(10) = ? (2)
4(10) = 100(2)
0,25 x 2= 0,5 0
0,5 x 2 = 1,0 1
Donc 4,25(10) = 100,01(2)
Coder 7,875(10) et 5,3(10) à la base de 8
16
1, M = 1,1
1+ = 1,76308594
Addition en IEEE754
Elle se fait en 3 étapes :
1) Dénormaliser les 2 nombres afin d’avoir le même exposant
2) Additionner les mantisses
3) Normaliser le résultat.
2,3 * 105 + 0,46 * 105 = (2,3 + 0,46)105
Exemple :
A = (01000000111000000)
+
B = (01000000000100000)
1) Dénormalisation :
SM = 0
Eb = (10000001) = 129
E= Eb – 28-1 = 129 – 127 = 2
M = 110 donc A = 1,11 *22
SM = 0
Eb = 10000000 = 128
E = Eb – 28-1 = 128 -127 = 1
M = 0010 donc B = + 1,001 = 0,1001 * 22
2) Addition
17
1,11 + 0,1001 = 10,0101
3) Normalisation :
A + B = 10,0101 * 22 = 1,00101 * 23
E = 3 = Eb = 127 +3 = 130 = 10000010
M = 00101
Multiplication en IEEE754
Elle se fait en 4 étapes :
1) Dénormaliser les 2 nombres exposants naturels
2) Additionner les exposants naturels
3) Multiplier les mantisses.
4) Normaliser les résultats
A = (01000000111000000)
*
B = (010000010001100000)
1) Dénormaliser :
10000001 = 129 = 129 – 127 = 2
10000010 = 130 = 130 – 127 = 3
1,11 *22
1,0011 * 23
18
6.1.1. Le code BCD (Binary Coded Decimal) :
C’est le code le plus utilisé. Son principe est simple : chaque chiffre du nombre
décimal est codé en binaire, de manière indépendante.
Exemple :
Exemple :
9 5 1
19
3 0011 + 0011 0110
4 0100 + 0011 0111
5 0101 + 0011 1000
6 0110 + 0011 1001
7 0111 + 0011 1010
8 1000 + 0011 1011
9 1001 + 0011 1100
Exemple :
Convertir de binaire au code gray
20
Convertir de code gray en binaire
21
1. les 26 lettres de l’alphabet latin en versions majuscules et minuscules,
2. les 10 chiffres,
3. les symboles de ponctuation y compris l’espace,
4. les couples de parenthèses, crochets et accolades
5. et quelques autres symboles divers
Exemples :
En écrivant GRAY en ASCII nous obtenons :
22
Les barres représentent le codage de ces chiffres sur 7 bits, à chaque
chiffre est attribué un ensemble de 7 espaces blancs ou noirs.
Exercice 1 :
Exercice2 :
Convertir en binaire, puis en octal, et enfin en hexadécimal les nombres suivants : 100, 127,
128, 256, 1000, 1023, 1024,10000.
Exercice3 :
Convertir en binaire, puis en octal, et enfin en hexadécimal les nombres suivants :(5A) 16,
(CFBA) 16, (E10D) 16, (FF) 16, (B00)16, (F000)16, (FFFF) 16.
Exercice 4 :
Remplir le tableau
Exercice 5 :
Effectuez ces additions en binaire
Exercice 6 :
Effectuez ces soustractions en binaire
Exercice 7 :
Effectuez ces multiplications en binaire
23
Exercice 8 :
Convertir (128)10, (517)10 en binaire et hexadécimal
Convertir (1111,0101)2, (110001011101)2 en décimal et hexadécimal
Convertir (571)10 en base 16
Convertir en décimal : (37FD) 16 et (2C0)16
Exercice 9 :
En supposant que le nombre « 1 110101010 » est en SVA (signe valeur absolue) sur 10 bits
quelle est sa valeur en décimal, en Cà1 et en Cà2 ?
Complétez les égalités suivantes :
(-120)10 = (…...) SVA
(-120)10 = (…...) Cà1
(-120)10 = (…...) Cà2
Exercice 10 :
1-Exprimer les nombres suivant en base Décimale : (472)8 (3132)4 (560)7 (ABDF) 16
2-Exprimer le nombre décimal X= 327 en base 2, 3, 7, 8, et 16.
3-Faire la conversion Binaire/Décimale des nombres suivants : 101, 11101, 111101101,
11111111.
Exercice 11 :
1- Soit le nombre décimal X= 512, exprimer X en base 2, 8 et 16.
2- Soit le nombre Y = (11010110101)2
Exprimer directement et sans passer par la base 10 le nombre Y en base 8, 16.
3- Exprimer directement en base 2 et sans passer par la procédure de division les nombres :
X = (1323)4, Y= (3765)8, Z= (AB1F9)16
Exercice 12 :
1- Faire l’addition des nombres binaires suivants : X=(101101)2 et Y= (110110)2
2- Réaliser en base 8 l’addition des deux nombres X=(735)8 et Y=(132)8
3- Réaliser en hexadécimale l’addition des deux nombres X=(A1F) 16 et Y= (9BC) 16
Exercice 11 :
1/ Soit les nombres entiers : X= (1101011) en Cà1, Y=(11001100) en Cà2, Z= (0100111) en
Cà1 et T= (0101101) en Cà2. Donner le signe et la valeur décimale de chaque nombre.
2/ Calculez en Cà1 et commentez le résultat en 6bits :
(+19 + 5) (20+15) (-12-13) (-21-17) (+19-3) (+2-11)
Exercice 12 :
(35,5)10=( ?)IEEE 754 simple précision
Exercice 13 :
24
(01000000111100000000000000000000) IEEE 754 simple précision=( ?)10
Exercice 14 :
1- Donner selon la norme IEEE-754 le code des nombres réels suivants :
X= 27,25 ; Y= -13,5 ; Z= 0,375
2- X est un nombre réel codé selon la norme IEEE-754, écrire X sous forme réelle.
X=(11011000011010110000000000000000)
Problématique :
1- Soient les nombres X et Y :
X = (55,043)6 ; Y= (25, E) 16
a- Exprimer X en base 2, ensuite en base 16
b- Réaliser l’opération X+Y en base 16 et en base 2
c- Coder le nombre Z= - (X+Y) sur le nombre minimum de bits en SVA, complément à 1
et en complément à 2
2- Soit le nombre réel A = -292
a- Exprimer A en base 2
b- Exprimer A dans le format A = ±1, M.2E
c- Donner la représentation interne de A en binaire selon la norme IEEE-754 sur 32bits
d- Donner la représentation interne de A en hexadécimal
Exercice 15 :
1/ Convertir en code Gray :
1111101 =
1011110 =
1100100 =
2/ Convertir le décimal en code BCD :
782 332 766
3/ Convertir le code BCD en décimal :
0010 0101 0101
0111 0100 0111
0011 0010 0000
4/ Effectuez les conversions suivantes :
(2145)10 = ( ) XS3
(8410)10 = ( ) XS3
25
(1101 1001)XS3 = ( ) 10
5/ Le code ASCII à déchiffrer est le suivant :
54 45 4C 45 50 48 4F 4E 45
6/ Vous trouvez ci-dessous des valeurs binaires, chaque ligne représentant une lettre d’un
mot, en lisant le mot de haut en bas. Pourrez-vous retrouver ce mot à l’aide du tableau
ASCII ?
1ère lettre : 01000001
2ème lettre : 01101101
3ème lettre : 01101001
4ème lettre : 01010011
Mot = --- --- --- ---
26