Représentation des données : types et valeurs de base - NSI
Nombres flottants
Exercice 1 : Norme IEEE 754: conversion d'un flottant en simple précision
Chaque nombre réel \(x\) peut s'écrire sous la forme: \(x = (-1)^{signe} \times 1,mantisse \times
2^{décalage}\)
De plus \(exposant = décalage + 2^{k-1} - 1\), où \(k\) est le nombre de bits pour l'exposant.
- Exemple: Convertir le nombre réel \(-1039\) en binaire norme IEEE-754 en simple précision.
- Le nombre est négatif donc le bit de signe est 1.
- La mantisse :
- On convertit en binaire le nombre \(1039\) : \((1039)_{10} = (0000010000001111,)_2\)
- On décale la virgule : \((0000010000001111,)_2 = (1,0000001111)_2 \times 2^{10}\).
- La mantisse est \(m = 0000001111\)(on complète par des 0 pour avoir les 23 bits).
- Le décalage est 10.
- L'exposant : sur \(k\) bits on a \(exposant = décalage + 2^{k-1} - 1\):
- On est en simple précision donc \(k = 8\)
- \(exposant = 10 + 2^{8-1} - 1 = 137\)
- On convertit 137 en binaire: \((137)_{10} = (1000 1001)_2\) donc \(exposant = 10001001\)
- On peut également convertir en hexadécimal en regroupant les bits par 4: C4 81 E0 00
Exercice 2 : Représentation des nombres flottants à virgule fixe
Exercice 3 : Norme IEEE 754: conversion d'un nombre en simple précision en flottant
Donner la représentation binaire en virgule flottante, en simple précision, du nombre:
\(010001000,00111011101000000000000\)
Exemple: On considère le nombre ci-dessous en binaire norme IEEE-754 en simple précision:
- Le bit de signe est 0 donc le nombre est positif
- L'exposant : sur \(k\) bits, on a \(exposant = décalage + 2^{k-1} - 1\):
- On est en simple précision donc \(k = 8\)
- On convertit l'exposant en décimal: \((1000 0100)_2 = (132)_{10}\)
- \(132 = décalage + 2^{8-1} - 1 \iff 132 = décalage + 128 - 1 \iff décalage = 5\)
- La mantisse :
- Le décalage est \(5\).
- La mantisse est \(m = 0110 0110\).
- On décale la virgule: \((1,01100110)_{2} \times 2^5 = (101100,110)_2\) .
- On convertit en décimal le nombre: \((101100,110)_2 = 1 \times 2^5 + 1 \times 2^3 + 1 \times 2^2 +1 \times 2^{-2} + 1 \times 2^{-2} = 44,75\)
Exercice 4 : Raisonnement sur les nombres binaires à virgule fixe
Exercice 5 : Norme IEEE 754: conversion pas à pas d'un nombre en simple précision en flottant
Exemple: On considère le nombre ci-dessous en binaire norme IEEE-754 en simple précision:
- Le bit de signe est 0 donc le nombre est positif
- L'exposant : sur \( k \) bits, on a \( exposant = décalage + 2^{k-1} - 1 \):
- On est en simple précision donc \( k = 8 \)
- On convertit l'exposant en décimal: \( (1000 0100)_2 = (132)_{10} \)
- \( 132 = décalage + 2^{8-1} - 1 \iff 132 = décalage + 128 - 1 \iff décalage = 5 \)
- La mantisse :
- Le décalage est \( 5 \).
- La mantisse est \( m = 0110 0110 \).
- On décale la virgule: \( (1,01100110)_{2} \times 2^5 = (101100,110)_2 \) .
- On convertit en décimal le nombre: \( (101100,110)_2 = 1 \times 2^5 + 1 \times 2^3 + 1 \times 2^2 +1 \times 2^{-2} + 1 \times 2^{-2} = 44,75 \)
On considère le nombre flottant en binaire norme IEEE 754 en simple précision suivant :
\[ 0\,10000101,11101111\,00000000\,0000000 \]