Codage Des Nombres

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 33

codage des nombres

HAZIM Asmae
CPGE:Al khansaa
Introduction

Introduction
Les informations traitées par les ordinateurs sont de différentes natures :
• nombres, texte,
• images, sons, vidéo,
• programmes, ...
Dans un ordinateur, elles sont toujours représentées sous forme d’un nombre
binaire :
• une suite de 0 et de 1 (bit).
Donc nous allons nous intéresser à la façon dont un nombre (entier ou réel) peut
être représenté à l’intérieur d’un ordinateur.
Représentation des nombres dans une
base

Nous sommes habitués depuis l’enfance à utiliser l’écriture en base 10 des entiers :
par exemple, 2985 représente le nombre
2 ×10³ + 9 × 10² + 8 × 10¹ + 5 ×10⁰ .
Mais plus généralement, pour tout entier b ≥ 2 on peut définir la représentation en
base b d’un entier en convenant que l’écriture (aₚ aₚ₋₁...a₀)b
représente le nombre : aₚ × bᵖ + aₚ₋₁ × bᵖ-¹+ ... + a₁ × b¹ + a₀ × b⁰ .
Pour s’assurer de l’unicité de l’écriture d’un entier dans une base donnée, il est
nécessaire en outre d’imposer : 8k 2[j0, pj] , aₖ 2[j0, b-1j] et aₚ 6= 0.
Ainsi, en base 3 par exemple, seuls les chiffres 0, 1 et 2 seront utilisés, et le nombre
(210122)₃ représente l’entier 2 × 3⁵ + 3⁴ + 3² + 2 × 3 + 2, c’est-à-dire 584
Représentation des nombres dans une
base

Bases usuelles :
• base décimale (b=10) : c’est la base à laquelle on est habitué depuis l’enfance
• base binaire (b=2)
• utilise deux chiffres : f0, 1g
• C’est le système de numération avec lequel fonctionnent les ordinateurs
• base hexadécimale (b=16) :
• utilise seize chiffres : f0, 1, 2, 3, 4, 5, 7, 8, 9,A, B,C,D, E, Fg
• très utilisée en micro informatique permet de coder 4 bits par un seul
symbole
Transcodage

Le transcodage (ou conversion de base) est l’opération qui permet de passer


de la représentation d’un nombre exprimé dans une base à la représentation
du même nombre mais exprimé dans une autre base.
Par la suite, on verra les conversions suivantes :
• Décimale vers Binaire et Hexadécimale.
• Binaire vers Décimale et Hexadécimale.
Transcodage

Changement de base : de la base 10 vers une base b:


La règle à suivre est la division successive :
• On divise le nombre par la base b
• Puis le quotient par la base b
• Ainsi de suite jusqu' à l’obtention d’un quotient nul
La suite des restes correspond aux symboles de la base visée.
On obtient en premier le chiffre de poids faible et en dernier le chiffre de poids
fort.
Transcodage
Transcodage
Transcodage

Exemple:
Convertir (41)₁₀ ,(128)₁₀ , (63)₁₀ en binaire.
Transcodage

Changement de base : de la base binaire vers une base b


Première solution :
Convertir le nombre en base binaire vers la base décimale puis convertir ce nombre
en base 10 vers la base b .
Exemple :
10010₍₂₎ =?₍₁₆₎
10010₍₂₎ = (2⁴ + 2¹)₍₁₀₎ = 18₍₁₀₎ = (1 × 16¹ + 2 × 16⁰)₍₁₀₎ = 12₍₁₆₎
Transcodage

Changement de base : de la base binaire vers une base b


Deuxième solution :
• Binaire vers décimale : par définition (aₚ aₚ₋₁...a₀)₍₂₎ = aₚ × 2ᵖ + aₚ₋₁ × 2ᵖ-¹+ ... +
a₁ × 2¹ + a₀ × 2⁰.
• Binaire vers Hexadécimale : regroupement des bit en des sous ensemble de
quatre bits puis remplacé chaque groupe par le symbole correspondant dans la
base 16.(voir table correspondante )
Transcodage
Transcodage
Transcodage
Transcodage

Exemple:
Convertir (11000001)₂ , (1111)₂ et (11101)₂ en décimal et en hexadécimale.
Arithmétique en binaire

Addition:
De même que l’on additionne deux nombres décimaux chiffre à chiffre en obtenant
un résultat et une retenue à reporter, pour additionner deux nombres binaires, il
faut définir l’addition de 2 bits. Il n’y a que quatre cas à examiner :
• 0 + 0 donne 0 de résultat et 0 de retenue.
• 0 + 1 donne 1 de résultat et 0 de retenue.
• 1 + 0 donne 1 de résultat et 0 de retenue.
• 1 + 1 donne 0 de résultat et 1 de retenue (de même qu’il y a une retenue lors de
l’addition de deux chiffres décimaux quand le résultat est supérieur à 10).
Arithmétique en binaire

Addition:
On effectue ensuite l’addition binaire bit à bit, de droite à gauche, en reportant les
retenues, comme dans
l’exemple suivant :

On peut vérifier le résultat en décimal : 43 + 110 = 153.


Arithmétique en binaire

Soustraction :
Le scénario est identique pour la soustraction de deux nombres décimaux : la
soustraction de 2 bits donne un bit de résultat et un bit de retenue de report sur la
colonne suivante :
• 0 – 0 donne 0 de résultat et 0 de retenue.
• 0 – 1 donne 1 de résultat et 1 de retenue.
• 1 – 0 donne 1 de résultat et 0 de retenue.
• 1 – 1 donne 0 de résultat et 0 de retenue.
Arithmétique en binaire

Soustraction :
On effectue la soustraction binaire bit à bit, de droite à gauche, en reportant les
retenues, comme dans l’exemple suivant :

On peut vérifier le résultat en décimal : 117 - 26 = 91.


Codage des nombres entiers

Codage des entiers positifs :


Utilisation du code binaire pur :
• L’entier naturel (positif ou nul) est représenté en base 2.
• Les bits sont rangés selon leur poids, on complète à gauche par des 0.
Exemple : sur huit bits ,10₍₁₀₎ se code en binaire pur par (00001010)₍₂₎
L’étendu des nombres qu’on peut coder sur n bits est [j0; 2ⁿ-1j].
Codage des nombres entiers

Codage des entiers relatifs :


Il existe au moins trois façons pour coder :
• code binaire signé ( par signe et valeur absolue )
• code complément à 1
• code complément à 2 (Utilisé sur ordinateur)
Codage des nombres entiers

Binaire signé :
Le bit le plus significatif est utilisé pour représenter le signe du nombre :
• si le bit le plus fort = 1 alors le nombre est négatif.
• si le bit le plus fort = 0 alors le nombre est positif.
Sur les autres bits, on code la valeur absolue du nombre.
Étendu de codage : [j-(2ⁿ-¹ -1); 2ⁿ-¹ -1|]
Exemple : on veut coder -24 et -128 sur 8 bits:
• (-24)₍₁₀₎ = (10011000)₍bₛ₎
• -128 hors limite !nécessite 9 bits au minimum
Codage des nombres entiers
Complément à 1 :
Aussi appelé Complément Logique (CL) ou Complément Restreint (CR) :
• les nombres positifs sont codés de la même façon qu’en binaire pure.
• un nombre négatif est codé en inversant chaque bit de la représentation de sa
valeur absolue.
Le bit le plus significatif est utilisé pour représenter le signe du nombre :
• si le bit le plus fort = 1 alors le nombre est négatif.
• si le bit le plus fort = 0 alors le nombre est positif.
Exemple : on veut coder -24 sur 8 bits
|-24₍₁₀₎| = (00011000)₍₂₎
on inverse les bits !(-24)₍₁₀₎ = (11100111)(ca1)
Étendu de codage : [j-(2ⁿ-¹ -1); 2ⁿ-¹ -1|]
Codage des nombres entiers

Complément à 2 :
Aussi appelé Complément Vrai (CV) :
• les nombres positifs sont codés de la même façon qu’en binaire pure.
• un nombre négatif est codé en ajoutant la valeur 1 à son complément à 1
Le bit le plus significatif est utilisé pour représenter le signe du nombre .
Exemple : on veut coder -24 sur 8 bits
24₍₁₀₎ = (00011000)₍₂₎
on inverse les bits !(-24)₍₁₀₎ = (11100111)(ca1)
puis on ajoute 1 au complément à 1 !(-24) ₍₁₀₎ = (11101000)(ca2)
Étendu de codage : [j-2ⁿ-¹ ; 2ⁿ-¹ -1|]
Codage des nombres réels

Les formats de représentations des nombres réels sont :


▪ Format virgule fixe
• utilisé par les premières machines
• possède une partie ‘entière’ et une partie ‘décimale’ séparés par une virgule. La position de la virgule
est fixe d’où le nom.
• Exemple : 54, 25(10) ; 10, 001(2) ; A1, F0B(16)
▪ virgule flottante (utilisé actuellement sur machine )
❑ défini par :± m.bᶱ
• un signe + ou –
• une mantisse m (en virgule fixe)
• un exposant e (un entier relative)
• une base b (2,8,10,16,...)
❑ Exemple : 0, 5425.10²₍₁₀₎ ; 10, 1.2ֿ¹₍₂₎ ; A0, B4.16²⁻ ₍₁₆₎
Codage des nombres réels

Virgule fixe:
Codage des nombres réels

Virgule fixe:
Codage des nombres réels

Virgule flottante:
Codage des nombres réels

Virgule flottante: Normalisation


Codage des nombres réels

Standard IEEE 754:


Codage des nombres réels

Conversion décimale - IEEE754 (Codage d’un réel)


Codage des nombres réels

Conversion IEEE754 – décimale (Evaluation d’un réel)


Codage des nombres réels

Standard IEEE754 : Valeurs spéciales


Certaines configurations de bits signifient des valeurs spéciales :

Vous aimerez peut-être aussi