0% ont trouvé ce document utile (0 vote)
39 vues6 pages

Chapitre 01

Le document traite du codage des nombres dans un microprocesseur, en expliquant la représentation binaire des données, ainsi que les conversions entre différentes bases (binaire, décimal, octal, hexadécimal). Il aborde également le codage des entiers signés, les opérations binaires, et le codage des nombres réels selon la norme IEEE 754. Des exemples et exercices sont fournis pour illustrer les concepts présentés.

Transféré par

el.mehdi.lhamide
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues6 pages

Chapitre 01

Le document traite du codage des nombres dans un microprocesseur, en expliquant la représentation binaire des données, ainsi que les conversions entre différentes bases (binaire, décimal, octal, hexadécimal). Il aborde également le codage des entiers signés, les opérations binaires, et le codage des nombres réels selon la norme IEEE 754. Des exemples et exercices sont fournis pour illustrer les concepts présentés.

Transféré par

el.mehdi.lhamide
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 1

Codage des nombres

1 Introduction
— Les informations traitées par un microprocesseur sont de différents types (nombres, instructions, images, ,son, vidéo, . . .)
mais elles sont toujours représentées sous un format binaire.
— Seul le codage changera suivant les différents types de données à traiter. Elles sont représentées physiquement par 2 niveaux
de tensions différents.
— En binaire, une information élémentaire est appelé bit et ne peut prendre que deux valeurs différentes : 0 ou 1.
— Une information plus complexe sera codée sur plusieurs bit. On appelle cet ensemble un mot. Un mot de 8 bits est appelé
un octet.
— Le codage d’une information consiste à convertir la représentation externe (A, 21, 2.1, . . .) en représentation binaire.

2 Codage de N
2.1 Représentation en base b
Définition : P+∞
La représentation en base b de l’entier N est définie par : N= n=0 x n bn .

Remarque : Exemple :
Si k est le plus grand entier tel que xk ̸= 0, on écrira cette
représentation sous forme 2022 = (11111100110)2
= (3746)8
N = (xk xk−1 ...x1 x0 )b = (7E6)16

2.2 Passage d’une base quelconque en décimal


Définition : Exemple :

Soit N un nombre écrit en base b comme suit : 10102 = 1 ∗ 23 + 0 ∗ 22 + 1 ∗ 21 + 0 ∗ 20


N = (xk xk−1 ...x1 x0 )b alors : =8+2
Pk
N = i=0 xi bi = xk ∗ bk + xk−1 ∗ bk−1 + ... + x0 ∗ b0 = 1010

1
Chapitre 1: Codage des nombres

3E816 = 3 ∗ 162 + 14 ∗ 161 + 8 ∗ 160


= 3 ∗ 256 + 14 ∗ 16 + 8 ∗ 1
= 768 + 224 + 8
= 100010

2.3 Passage du décimal à une base b


Définition :
Soit N un nombre écrit en base 10. Pour convertir le nombre N du décimal vers une base b, on effectue des divisions successives
du N sur b jusqu’à avoir un quotient nul.
Chacun des restes ainsi obtenus, du chiffre de poids faible au chiffre de poids fort, forme la représentation de N en base b.

Exemple(Décimal en Hexadécimal) :

Décimal Hexadécimal Octal Binaire Décimal Hexadécimal Octal Binaire


00 0 00 0000 08 8 10 1000
01 1 01 0001 09 9 11 1001
05 5 05 0101 10 A 12 1010
02 2 02 0010 11 B 13 1011
03 3 03 0011 12 C 14 1100
04 4 04 0100 13 D 15 1101
06 6 06 0110 14 E 16 1110
07 7 07 0111 15 F 17 1111

Table 1.1 – Écriture des entiers de 0 à 15 en décimal, hexadécimal, octal et binaire

2.4 Cas particuliers des bases 2, 8 et 16


Chaque groupe de 3 (resp. 4) bits d’un nombre exprimé en binaire, en partant du bit de poids faible, peut être directement
exprimé par un nombre exprimé en octal (resp. hexadécimal).
Exercice :
A. Exprimer en binaire le nombre :

❶ décimal 240(10) ❷ octal 192(8) ❸ hexadécimal A4C(16)

B. Exprimer en octal le nombre :

❶ binaire 11001010(2) ❷ décimal 100(10) ❸ hexadécimal F F 1(16)

C. Exprimer en hexadécimal le nombre :

❶ binaire 10011010(2) ❷ décimal 204(10) ❸ hexadécimal 9A0(16)

D. Exprimer en décimal le nombre :

❶ binaire 11010111(2) ❷ octal 167(8) ❸ hexadécimal 3AD(16)

Lycée Moulay Youssef - Rabat 2 Informatique - MPSI


Chapitre 1: Codage des nombres

3 Codage de Z
3.1 Méthode 1 : bit de signe
Cette méthode consiste à utiliser le bit du poids fort (le premier à gauche) pour représenter le signe.
Exemple :
— +12 est codé sur un octet : 00001100.
— −12 est codé sur un octet : 10001100.

3.2 Méthode 2 : complément à 2


Cette méthode un peu plus efficace consiste, pour coder −n, à prendre le complément à un du codage de n, c’est à dire de
remplacer chaque 0 par un 1 et inversement, puis on ajoute un.
Exemple :

— +12 est codé sur un octet : 00001100.


— −12 est codé sur un octet : 11110100.

Remarque :
Dans l’opération ci-dessus, nous avons un 1 pour le 9ème bit, mais comme notre représentation se limite à 8 bits, il nous reste
bien 00000000.
Pour un codage sur 3 bits, on peut représenter 23 = 8 nombres.

Binaire 000 001 010 011 100 101 110 111


Entier signé 0 +1 +2 +3 -4 -3 -2 -1

L’intervalle de codage :
— Sur 8 bits(1 octet), l’intervalle de codage est [−128, 127].
— Sur 16 bits (2 octets), l’intervalle de codage est [−32768, 32767].
— D’une manière générale sur n bits, l’intervalle de codage est
[−2n−1 , 2n−1 − 1].

4 Opération binaire
Addition : Soustraction : Multiplication :
Principe : Principe : Principe :
✻ 0x0=0
✻ 0+0=0 ✻ 0−0=0
✻ 0x1=0
✻ 0+1=1 ✻ 0 − 1 = 1 avec retenue 1
✻ 1x0=0
✻ 1+0=1 ✻ 1−0=1
✻ 1x1=1
✻ 1 + 1 = 0 avec retenue 1 ✻ 1−1=0
Méthode :
Méthode : Méthode : La multiplication binaire s’effectue se-
L’addition des nombres binaires s’effec- La soustraction des nombres non signé lon le principe des multiplications décimal,
tue de la même façon qu’en décimal. s’effectue de la même façon qu’en décimal. on multiplie donc le multiplicande par cha-
La soustraction des nombres signé cun des bits du multiplicateur. On décale
se fait en codant le 2ème opérande les résultats intermédiaires obtenus et on
en complément à 2, puis on effectue effectue ensuite l’addition de ses résultats.
L’opération d’addition binaire. partiels.

Lycée Moulay Youssef - Rabat 3 Informatique - MPSI


Chapitre 1: Codage des nombres

Division :
La division va être basée sur une succession de soustraction et s’emploie de la même façon qu’une division décimal ordinaire.

Les opérations logique :

— Si la lampe est éclaire


alors SORTIE = 1, c’est
que le courant passe dans
le circuit ;
— Et inversement SORTIE
= 0, lampe éteinte.

Débordement (overflow) :
Il intervient lorsque le résultat de l’opération n’est pas représentable dans le système utilisé (i.e., avec le nombre de chiffres
utilisé).
Dans le cas d’une addition de deux nombres en codage binaire naturel, le débordement correspond à une retenue sortante
à 1 (cas de 27 + 22 sur 5 bits).
Exercice :
A. ❶ Effectuer les opérations suivantes :
a) 10101010 + 00110011
b) 10101010 − 00110011
❷ Multiplier le nombres 00101001 par 2, 6, 8.
B. ❶ Représenter : −20(10) en c-à-2 sur 8-bits
❷ 1100011 est une représentation en c-à-2 sur 7-bits. Donnez la valeur ?

5 Codage de R
Un nombre réel se compose de deux parties distinctes :
— Une partie entière, située à gauche de la virgule,
— Et, éventuellement, une partie décimale, située après celle-ci.

5.1 Codage des réels par virgule fixe


La représentation en virgule fixe est facile à comprendre. Au lieu de faire commencer les puissances de 2 à 20 au bit de poids
faible, comme pour les nombres entiers, on fixe un bit, quelque part dans l’écriture du nombre, à droite duquel se place la virgule.
Les bits à gauche de la virgule correspondent alors aux puissances de 2 positives et les bits à droite de la virgule correspondent aux
puissances de 2 négatives.
Exemple :
57.375 =?

Lycée Moulay Youssef - Rabat 4 Informatique - MPSI


Chapitre 1: Codage des nombres

— On a 57(10) = 00111001(2) — Et 0.375 = (0.011)2


0.375 × 2 = 0.75 = 0 + 0.75 Donc 57.375(10) = 00111001, 011(2)
0.75 × 2 = 1.5 = 1 + 0.5
0.5 × 2 = 1.0 =1+0

Il est souvent impossible d’obtenir le nombre binaire exact (avec un nombre fini de termes) d’un nombre relatif, il faut donc
limiter le calcul jusqu’à une précision donnée.

5.2 Représentation en virgule flottante IEEE 754


Définition :
Le stockage des réels en norme IEEE 754 se fait sous la forme scientifique binaire :

x = (−1)s 1, m ∗ 2e

Simple précision (32 bits) :


— s est le bit de signe.
— e est l’exposant codé sur 8 bits compris entre −126 et 127 ( la représentation binaire est décalé de 127 : les valeur codé sont
entre 1 et 254, les valeur 11111111 et 00000000 ont un usage special comme coder le 0, les nan(not a number), +∞ et −∞)
— m est la mentisse codé sur 23 bits.

Double précision (64 bits) :


— s est le bit de signe.
— e est l’exposant codé sur 11 bits compris entre −1022 et 1023 ( la représentation binaire est décalé de 1023 : les valeur codé
sont entre 1 et 2046, les valeur 11111111111 et 00000000000 ont un usage special comme coder le 0, les nan(not a number),
+∞ et −∞)
— m est la mentisse codé sur 52 bits.

Exemple 1 :
Trouvez le nombre décimal à partir du nombre flottant en 32 bits :

A = 11000001000110000000000000000000

❶ s = 1 (Le nombre est négatif) ;


❷ e = (27 + 21 ) − 127 = 130 − 127 = 3 ;
❸ m = 2−3 + 2−4 = 0.125 + 0.0625 = 0.1875. Donc A = −1.1875 × 23 = −9.5
Exemple 2 :
Codons le nombre décimal −118, 625(10) en utilisant le mécanisme IEEE 754.
❶ Premièrement, nous avons besoin du signe, de l’exposant et de la partie fractionnaire. Nombre négatif, le signe = 1 ;
❷ Puis nous écrivons le nombre (sans signe) en binaire. Nous obtenons : 1110110, 101(2) (avec division par 2 successives et
méthode virgule fixe) ;
❸ Ensuite, nous décalons la virgule vers la gauche, de façon à ne laisser qu’un 1 sur sa gauche :

1110110, 101(2) = 1.110110101(2) × 26

C’est un nombre flottant normalisé : la mantisse est la partie droite de la virgule, remplie de 0 vers droite pour obtenir 23
bits.
Cela donne :11011010100000000000000.

Lycée Moulay Youssef - Rabat 5 Informatique - MPSI


Chapitre 1: Codage des nombres

❹ L’exposant est égal à 6 , et nous devons le convertir en binaire et le décaler. Pour le format 32 bits IEEE 754, le décalage
est : 27 − 1 = 127.
Donc 6 + 127 = 133(10) = 10000101(2) .
Donc −118, 625(10) = 11000010111011010100000000000000(2)
Exercice :
❶ Donnez la représentation décimale de A codés en simple précision :

A = 01000010000000110000000000000000

❷ Donnez la représentation flottante, en simple précision de 18, 75(10) .

6 Codage des caractère


6.1 Code ASCII :
A.S.C.I.I. est l’abréviation de American Standard Code for Information Exchange. Ce codage consiste à associer une valeur
numérique binaire (interprétable en hexadécimal, décimal, ...) à chacun des caractères utilisables dans l’échange de données infor-
matique :
– Caractères alphabétiques et numériques (alphanumérique) ;
– Ponctuation ;
– Codes de contrôles divers...
Différentes variantes du code ASCII sont disponibles pour différentes langues.
Il existe même une version Extended de ASCII où le 8ème bit de données est utilisé, ce qui permet de distinguer 2 fois plus de
caractères, notamment les caractères accentués pour le français.
Code ASCII standard :

Question 1 : Question 2 :
Combien de bits utilise ASCII standard ? Codez votre nom en hexadécimal avec le codage ASCII.

6.2 UNICODE :

— UNICODE peut coder n’importe quel caractère pour toutes les langues
qui existe.
— le codage se fait sur 8,16,32 bit.
— Prolongement : UTF-8, UTF-16, UTF-32.

Lycée Moulay Youssef - Rabat 6 Informatique - MPSI

Vous aimerez peut-être aussi