0% ont trouvé ce document utile (0 vote)
4 vues38 pages

Cours RNI L1 2

Le document traite de la représentation numérique de l'information, en se concentrant sur les entiers et les réels. Il explique comment les entiers sont représentés en utilisant le complément à deux et comment les réels sont représentés selon la norme IEEE 754. La conclusion résume les méthodes de représentation des entiers et des réels, ainsi que les défis associés.

Transféré par

ضياء الدين
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)
4 vues38 pages

Cours RNI L1 2

Le document traite de la représentation numérique de l'information, en se concentrant sur les entiers et les réels. Il explique comment les entiers sont représentés en utilisant le complément à deux et comment les réels sont représentés selon la norme IEEE 754. La conclusion résume les méthodes de représentation des entiers et des réels, ainsi que les défis associés.

Transféré par

ضياء الدين
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

Représentation numérique de l’information

Ilaria Zappatore

[Link]@[Link]
Les entiers

1, -1, 2, -2, …

Problème : comment faire comprendre à la machine qu’un


nombre est positif ou négatif ?

1
Les entiers

1, -1, 2, -2, …

Problème : comment faire comprendre à la machine qu’un


nombre est positif ou négatif ?

Sur n bits, L’ordinateur dispose d’un espace ni pour stocker les nombres

1
fi
Les entiers

1, -1, 2, -2, …

Problème : comment faire comprendre à la machine qu’un


nombre est positif ou négatif ?

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

1
Représentation signe, valeur absolue

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

Ecrire −7 sur n = 5 bits

• −→1
11011
• | − 7 | = 7 = (1011)2

2
Représentation signe, valeur absolue

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

Sur n = 4 bits 1 0 1 1

3
Représentation signe, valeur absolue

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

Sur n = 4 bits 1 0 1 1

- (011)2 = 3

-3

3
Représentation signe, valeur absolue

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

Problèmes ???

3
Représentation signe, valeur absolue

Sur n bits, nous pouvons utiliser un bit (le bit de poids fort) pour le signe :
- 1 : pour le signe négatif
- 0 : pour le signe positif

Les n − 1 bits restantes la valeur absolue du nombre

Problèmes :
- Deux représentations possibles pour +0 et -0
- Opérations ?

3
Complément à deux

Nous voulons représenter l’entier p sur n bits,


- Si p est positif on le code sur n bits normalement,
n
- Si p est négatif on code 2 − | p | en binaire sur n bits

Ecrire −4 sur n = 3 bits

4
Complément à deux

Nous voulons représenter l’entier p sur n bits,


- Si p est positif on le code sur n bits normalement,
n
- Si p est négatif on code 2 − | p | en binaire sur n bits

Ecrire −4 sur n = 3 bits


3
• 2 − | − 4| = 8 − 4 = 4 100

4
Complément à deux

Entier Complément à deux Sur n = 3 bits,


nous pouvons représenter les entiers
+0 000 entre -4 et 3
+1 001
+2 010
+3 011
-4 100 Sur n bits,
n−1 n−1
-3 101 −2 ≤p≤2 −1
-2 110
-1 111

5
Astuce: calculer le complément à deux

Nous pouvons facilement calculer le complément à deux d’un nombre sur n bits

Exemple : écrire -7 sur n = 4 bits

1. Ecrire le valeur absolue en binaire 0 1 1 1

2. Complémenter bit à bit 1 0 0 0

3. Ajouter 1 en binaire 1 0 0 1

6
Astuce: calculer le complément à deux

Nous pouvons facilement calculer le complément à deux d’un nombre sur n bits

Exemple : écrire -102 sur 16 bits

7
Astuce: calculer le complément à deux

Nous pouvons facilement calculer le complément à deux d’un nombre sur n bits

Exemple : écrire -102 sur 16 bits

0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0

1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1

1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0

7
Représentation des entiers

Selon le langage de programmation, les variables contenant des nombres entiers


stockent ceux-ci sur un nombre xe de bits.

En langage C
- Le type int représente un entier sur 16 ou 32 bits (selon l’architecture du processeur)
- Le type unsigned int représente un entier positif sur 16 ou 32 bits (selon le processeur)
- Le type short int représente un entier sur 16 bits
- Le type long int représente un entier sur 32 bits

8
fi
Représentation des entiers

Selon le langage de programmation, les variables contenant des nombres entiers


stockent ceux-ci sur un nombre xe de bits.

En langage C
- Le type int représente un entier sur 16 ou 32 bits (selon l’architecture du processeur)
- Le type unsigned int représente un entier positif sur 16 ou 32 bits (selon le processeur)
- Le type short int représente un entier sur 16 bits
- Le type long int représente un entier sur 32 bits

En python ?

- Le type int est un type à représentation in nie. Le langage modi e le nombre de bits
nécessaires au stockage à la volée.

8
fi
fi
fi
Les réels

Comment représenter les nombres réels en machine ?

9
Les réels

Comment représenter les nombres réels en machine ?

Un nombre réel est constitué d’une partie entière et une partie fractionnaire

- Virgule xe = position de la virgule est xe

- Virgule ottante = position de la virgule change

9
fi
fl
fi
Représentation en virgule xe

Comment représenter les nombres réels en machine ?

Un nombre réel est constitué d’une partie entière et une partie fractionnaire

- Virgule xe = position de la virgule est xe

partie entière sur n=4 bits , partie fractionnaire sur m=3 bits

5,25
0 1 0 1 0 1 0 0

10
fi
fi
fi
Représentation en virgule ottante

Chaque nombre réel peut s’écrire de la façon suivante :

Exposant

n=±m×b e

Signe Mantisse Base

2
134,123 = + 1,34123 × 10
2
−(1101,101)2 = − (1,101101)2 × 2

11
fl
Représentation en virgule ottante

Norme IEEE 754 pour la représentation des nombres réels en virgule ottante

Institute of Electrical and Electronics Engineers

12
fl
fl
Représentation en virgule ottante

Norme IEEE 754 pour la représentation des nombres réels en virgule ottante
- Simple précision 32 bits
- Double précision 64 bits

En langage C, le compilateur gcc

- Le type float : simple précision


- Le type double : double précision

En python ?

- Le type float : double précision

12
fl
fl
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

1. Convertir 85.125 en binaire

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

1. Convertir 85.125 en binaire (1010101.001)2

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

s e
2. Ecrire n=(1010101.001)2 sous la forme (−1) × 1.m × 2

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

s e 0 6
2. Ecrire n=(1010101.001)2 sous la forme (−1) × 1.m × 2 (−1) × 1.010101001 × 2

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

0 6
3. Récupérer de (−1) × 1.010101001 × 2 le signe s=0

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

0 6
4. Récupérer de (−1) × 1.010101001 × 2 l’exposant biasé e + 127 = 6 + 127 = 133

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

5. Convertir l’exposant biasé en binaire e + 127 = 133

13
Norme IEEE 754 simple précision

0 1 0 0 0 0 1 0 1

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

5. Convertir l’exposant biasé en binaire e + 127 = 133 = (10000101)2

13
Norme IEEE 754 simple précision

0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : + 85.125

0 6
6. Récupérer de (−1) × 1.010101001 × 2 la mantisse tronquée

13
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2 bias

Exemple : - 0.875

14
Norme IEEE 754 double précision

Signe Exposant biasé Mantisse tronquée


1 bit 11 bits 53 bits

s e+1023 bias
(−1) × 1.m × 2

15
Norme IEEE 754 simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2

Les nombres avec une mantisse 1.m Normalisés ∈ [1,2[

16
Norme IEEE 754 : cas particuliers

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits
s e+127
(−1) × 1.m × 2

Si l’exposant biasé est égal à 0 Nombres Dénormalisés ∈ [0,1[


Machine représente la mantisse sous la forme 0.m

Ce système permet de représenter le 0

17
Norme IEEE 754 : cas particuliers simple précision

Mantisse tronquée
Signe Exposant biasé
24 bits
1 bit 8 bits

1. Exposant biasé = 0, mantisse = 0 +0, -0

2. Exposant biasé = 0, mantisse ≠ 0 Nombres dénormalisés

3. Exposant biasé = 255, mantisse = 0 + inf, - inf

4. Exposant biasé = 255, mantisse ≠ 0 NaN

18
CONCLUSION

- La représentation des entiers, complément à deux


- Les réels, virgule xe, virgule ottante
- La norme IEEE 754

19
fi
fl

Vous aimerez peut-être aussi