Plan du site  
français  English
pixel
pixel

Articles - Étudiants SUPINFO

Chapitre 03 - Le codage des réels

PLAN DU CHAPITRE

Il sera présenté dans ce chapitre :

  1. Les conversions des nombres réels à virgule fixe entre les bases 2 et 10

  2. Les conversions des nombres réels à virgule flottante entre les bases 2 et 10

  3. La normalisation IEEE (Institute of Electrical and Electronics Engineers) 754 des nombres réels à virgule flottante en bases 2

  4. L'addition normée des nombres réels à virgule flottante en bases 2

  5. La soustraction normée des nombres réels à virgule flottante en bases 2

  6. La multiplication normée des nombres réels à virgule flottante en bases 2

  7. La division normée des nombres réels à virgule flottante en bases 2

OBJECTIF DU CHAPITRE

Le but de ce chapitre est de pouvoir étudier est comprendre comment les nombres réels sont stockées dans une architecture à nombres biniares. Pour les codages des réels, il est bon de rappeler que toute la partie entière étudiée dans les précédents chapitres reste valable, notamment pour l'application des opérations entre les nombres. A la fin de ce chapitre, vous aurez une meilleure approche sur les espaces de stockage et comment en gardant des mémoires fixes, pouvoir stocker des plus grandes valeurs.

Virgule fixe – conversion binaire vs décimal

[Note]

Nom de l’algorithme : Conversion des nombres binaires à virgule fixe avec une table de conversion

Donnée d’entrée : B un nombre binaire avec une virgule fixe

Donnée produite : R un nombre réel

But : Traduire en décimal un nombre binaire avec virgule fixe.

Un nombre binaire à virgule fixe est un binaire noté abc.def2 qui dispose d’une partie entière identifiée ici par abc, d’une partie décimale identifiée ici par def et d’un point pour indiquer la virgule.

Rappelons la table des indices pour la partie entière abc, il s’agit d’une table de 3 cases :

Table 1.1. Table des valeurs des indices

2 1 0

Notons maintenant la table des indices pour la partie def, il s’agit d’une table de 3 cases :

Table 1.2. Table des valeurs des indices

-1 -2 -3

Nous constatons qu’à partir de la table ci-dessus pour def, les indices se construisent de gauche à droite à partir de -1. Soit l’indice de gauche est -1 puis -2 puis -3 … suivant le nombre de chiffre après la virgule. Il est important de travailler avec les indices puisqu’ils vont déterminer les valeurs des correspondances.

La base des nombres binaires est toujours 2, nous avons donc toujours deux valeurs possibles 02 ou 12. Nos calculs pour passer d’un nombre binaire à virgule fixe vers un nombre décimal en base 10 se feront avec les indices et les puissances de 2 :

Table 1.3. Table de la base 2 à la puissance des indices

22 21 20 2-1 2-2 2-3

A partir de la table ci-dessus, nous pouvons établir les valeurs décimales réelles (à base 10) :

Table 1.4. Table des valeurs des décimaux, valeurs calculées en fonction des puissances de la base 2

4 2 1 0,5 0,25 0,125

A partir de la table cidessus, nous constatons qu’il faut multiplier par 2 à chaque déplacement de droite à gauche et diviser par 2 de gauche à droite.

Par exemple, avec la table de conversion, transformons le nombre binaire 11101.1012 en décimal :

Table 1.5. Algorithme et résultat décimal en utilisant la table de conversion

Mot binaire 1 1 1 0 1 . 1 0 1
Opérateur * * * * * * * *
Valeur décimale 16 8 4 2 1 0,5 0,25 0,125
___ __ __ __ __ __ __ __ __ __ __ ___ __ ____ __ _____
Résultat 16 8 4 0 1 0,5 0 0,125
29,625 16 + 8 + 4 + 0 + 1 + 0,5 + 0 + 0,125

Pour un espace de stockage fixé, les nombres à virgule fixe ne permettent pas de gérer des grands nombres ou des petits nombres simultanément. Il faut donc passer par une écriture scientifique pour stocker plus de valeurs dans un même espace de stockage.

Virgule flottante – La norme IEEE754

Présentation

Un des buts de l’étude et de la manipulation des nombres à virgule se place sur la vitesse des opérations fait avec ses nombres (FLOPS (Floating-point Operations Per Second)). En effet, grâce à des astuces de stockage qui permettent en un moindre espace de stocker plus de valeurs, les opérations sont plus efficaces en termes de temps. Réduire les coûts temporels est une des performances que les architectures tendent de conserver et d’augmenter régulièrement.

Nous notons que même si dans ce chapitre les calculs auront toujours un résultat, il est possible de ne pas obtenir à un résultat à chaque fois. Nous pouvons énoncer 3 cas, comme :

  • NaN (Not A Number), produit par une division par zéro, par exemple, matérialisé par la complétion de 1 dans les mots stockés.

  • l'infini positif produit par le débordement d’arrondi, par exemple, matérialisé par la complétion de 1 et 0 dans les mots stockés.

  • l’infini négatif produit par le débordement d’arrondi, par exemple, matérialisé par la complétion de 1 et 0 dans les mots stockés.

Le principe de la virgule flottante normalisé en IEEE 754 (1985) est de représenter les nombres en notation scientifique en utilisant, la base, les puissances, les exposants, le signe et la mantisse. Cette formulation va nous permettre de manipuler dans un même ensemble le codage des nombres très grands et des nombres très petits. Cette norme définit les opérations arithmétiques comme l’addition, la soustraction, la multiplication, la division, … et permet les arrondis. La norme ne normalise pas les fonctions mathématiques comme exp, log, sin, cos, …. Enfin cette norme permet est d’avoir des comportements communs pour des programmes identiques sur des machines différentes.

Avec :

  • la mantisse va dénoter la séparation de la précision.

  • l’exposant va exprimer l’ordre de grandeur des nombres.

  • le signe va dénoter les positifs et négatifs.

  • la base va permettre ensuite l’utilisation d’algorithmes appropriés.

La représentation que nous allons suivre est :

N = Signe * mantisse * 10exposant

Nous disposons de 3 modes de représentation des nombres binaires à virgules flottantes :

  • les nombres "simple précision" codés sur 32 bits (emplacement du codage du type INT en langage C).

  • les nombres "double précision" codés sur 64 bits (emplacement du codage du type DOUBLE en langage C).

  • les nombres "précision étendue" codés sur 80 bits (emplacement du codage du type LONG DOUBLE en langage C).

Les nombres sont codés avec 3 champs :

  • un bit de signe (0 positif et 1 négatif).

  • un champ exposant.

  • un champ mantisse.

Table 1.6. Découpage en bits des précisions IEEE 754

Signe Exposant Mantisse
Simple précision 1 bit 8 bits 23 bits
Double précision 1 bit 11 bits 52 bits
Précision étendue 1 bit 15 bits 64 bits

L’exposant

Pour permettre une meilleure dynamique de codage des nombres, nous allons disposer d’un pivot pour coder l’exposant. Le pivot va diviser l’espace de codage de l’exposant en exposant positif et négatif. Cette réparation permettra d’avoir des grands nombres et des petits nombres sur un même emplacement de stockage. Ce pivot s’appelle un biais.

Table 1.7. Valeurs de biais en fonction des places pour l’exposant en codage IEEE754

Place en bits Biais en binaire Biais en base 10
Simple précision 8 bits 01111111 127
Double précision 11 bits 01111111111 1023
Précision étendue 15 bits 011111111111111 16383

Pour stocker que des valeurs positives dans les exposants, nous allons nous servir du biais. Le codage dépend de la taille de l’emplacement. Il est possible de coder que sur la dynamique de codage de l’emplacement. Par exemple, pour un octet, les codages disponibles sont de 000000002 = 010 à 111111112 = 25510. Le pivot en simple précision est donc de 011111112 = 12710, pour nous permettre de stoker un exposant de -12710 à 12810. Soit 12710 – 12710 = 010 = 000000002 et 12710 + 12810 = 25510 = 111111112.

Nous savons donc que pour un octet, nos exposants - biais vont aller de -12710 à 12810 et donc pour respecter le stockage en norme IEEE 754, il faut ajouter 12710 de biais et pour utiliser la vraie valeur lors des calculs par exemple, il faut supprimer 12710.

Figure 1.1. Passage des ajouts ou suppressions des biais lors des normes IEEE754

Passage des ajouts ou suppressions des biais lors des normes IEEE754

La mantisse

[Note]

Nom de l’algorithme : Ecriture en notation scientifique d’un numérique

Donnée d’entrée : N un nombre, une base numérique

Donnée produite : N un nombre transformé en écriture scientifique

But : Transformer le nombre, donné en argument, en écriture scientifique en fonction de la base, en conservant une pertinence d’écriture.

Nous sommes en notation scientifique et donc nous exprimons notre résultat en fonction de la base numérique donnée. Cette proposition d’algorithme est adaptable pour toutes les bases passées en paramètre.

Les valeurs significatives pour les bases en notation scientifique sont :

  • en base 2 : 1

  • en base 10 : 1 à 9

  • en base 8 : 1 à 7

  • ....

Nous prenons donc comme hypothèse que le 0 n’est pas valeur significative pour une base numérique. Nous le garderons comme hypothèse lors du stockage de la mantisse en binaire.

Table 1.8. Exemple d’écriture en notation scientifique d’un nombre en base 10

4321 * 100
432.1 * 101
43.21 * 102
4.321 * 103
0.4321 * 104
0.04321 * 105

A partir de l’exemple et de notre hypothèse, le nombre en notation scientifique retenu serait : 4.321 * 103.

Prenons 11102, l’exemple d’une valeur décimale en base 10 et transformons la en écriture scientifique :

Table 1.9. Exemple d’écriture en notation scientifique d’un nombre en base 2

1110 * 20
111.0 * 21
11.10 * 22
1.110 * 23
0.1110 * 24
0.01110 * 25

A partir de l’exemple et de notre hypothèse, le nombre en notation scientifique retenu serait : 1.110 * 23.

[Note]

Nom de l’algorithme : Construction d’une mantisse en binaire

Donnée d’entrée : B un nombre

Donnée produite : M une mantisse

But : Utilisation de l’algorithme de l’écriture en notation scientifique d’un numérique pour construire une mantisse.

Si nous prenons l’exemple 11102, le nombre en notation scientifique retenu est : 1.110 * 23.

Comme nous savons qu’en base 2, mis à part 1 nous avons 0 et que par hypothèse nous ne prenons pas 0 comme valeur significative alors pour gagner de la place, nous pouvons nous permettre de ne pas stoker le 1 avant la virgule. Donc, la mantisse sera construite à partir de 110, suivi d’autant de zéro que de place disponible dans la mantisse, suivant la précision. Soit pour une simple précision, nous avons : 11000000000000000000000 constituée de 2 1 et de 21 0 pour remplir les 23 cases.

La reconstruction pour une normalisation

[Note]

Nom de l’algorithme : Construction d’un binaire en norme IEEE 754

Donnée d’entrée : B un nombre

Donnée produite : I un nombre au format IEEE754

But : Utilisation de l’algorithme de l’écriture en notation scientifique d’un numérique pour construire une mantisse, un biais + exposant et un signe.

Si nous prenons l’exemple 11102, le nombre en notation scientifique retenu est : 1.110 * 23.

La mantisse est : 11000000000000000000000

Le biais en simple précision est : 01111111

L’exposant est : 11

L’exposant + biais est : 11 + 01111111 = 10000010

Le signe est positif donc : 0

Donc 1.110 * 23 --> 0 10000001 11000000000000000000000

Dans le résultat produit, tous les zéros sont importants, il faut donc tous les noter.

Conversion d’un nombre binaire stocké au format IEEE 754 vers un nombre décimal réel

[Note]

Nom de l’algorithme : Conversion d’un binaire en norme IEEE 754 vers un décimal réel

Donnée d’entrée : B un nombre IEEE754

Donnée produite : D un nombre décimal réel

But : Utilisation de la mantisse, de l’exposant, du signe et du biais pour traduire bit à bit le nombre binaire et en obtenir sa valeur réel.

L’algorithme se résume à la fonction suivante :

Figure 1.2. Algorithme de conversion binaire vers un décimal réel

Algorithme de conversion binaire vers un décimal réel

La fonction ci-dessus, construit le signe de la valeur réelle stockée en appliquant -11 = -1 ou -10 = 1. Ensuite comme le stockage supprime le 1 avant la virgule, il faut le rajouter pour retrouver la vraie valeur réelle initiale. Puis nous devons traiter la valeur de la mantisse en utilisant l’algorithme de conversion en utilisant la table de conversion en fonction des indices et des valeurs. Nous supposons qu’une mantisse est une table binaire rangée de gauche à droite. La variation des indices vont de 1 à taille(mantisse), avec mantisse = 23 ou 52 ou 63 selon la précision. Comme nous faisons une somme au pas de 1 et que la partie mantisse exprime des indices négatif alors nous appliquons le coefficient 2-i. Donc, i vaut successivement la valeur 1, 2, 3 …, jusqu’à taille(mantisse). Et comme il s’agit d’une écriture en notation scientifique nous récupérons l’exposant réel en prenant l’exposant – biais de la précision.

Prenons par exemple le nombre IEEE754 B = 1 10000011 110100000000000000000002, nous avons :

Table 1.10. Exemple de conversion IEEE754 vers un décimal réel

1 10000011 11010000000000000000000
-1 10000011 - 01111111 1 + 0.5 + 0.25 + 0 + 0.0625 + 0 +... + 0
N = -1.8125 * 24 = -29

Conversion d’un nombre décimal réel vers un nombre binaire stocké au format IEEE 754

[Note]

Nom de l’algorithme : Conversion d’un nombre Décimal réel en un nombre Binaire

Donnée d’entrée : N un nombre réel décimal quelconque (Il est à noter qu’un mMax peut être donné)

Donnée produite : B un nombre binaire

But : Traduction du nombre réel N en un nombre binaire par soustractions successives de puissance de 2 favorables en ajoutant une virgule si nécessaire.

Nous partons d’une valeur N décimale réelle donnée par un utilisateur. Nous supposons dans cet algorithme que la valeur N saisie correspond à la demande, du coup il n’y a pas de vérification de cette valeur et correspond à l’hypothèse de la spécification. Le nombre binaire B est initialement vide. Un calcul de la puissance de 2 est effectué pour initier B à zéro. A savoir, il faut un mMax tel que 2mMax > N. soit le mMax est donné et il faut le vérifier soit il est calculé en fonction de N.

Figure 1.3. Algorithme de conversion d'un entier décimal vers un entier binaire

Algorithme de conversion d'un entier décimal vers un entier binaire

Nous allons voir par l’exemple comment fonctionne l’algorithme ci-dessus. Prenons N = 127,7510 et plaçons nos valeurs pour N, m et B, en proposant mMax. La valeur 7 donne 27 = 12810, valeur suffisante et nécessaire pour être plus que N = 127,7510. Tant que m est positif ou nul, soustraire à N les puissances de 2 possibles en ajoutant 1 au nombre B binaire à construire et jouant 0 si pas de soustraction. Il est important de noter dès que la valeur de la puissance de 2 est égale à -1 alors il faut placer une virgule et continuer en puissance négative.

Table 1.11. Mise en œuvre d’un déroulement de l’algorithme de conversion

m TEST N B
Début 127,75 « »
7 27 = 128 > 127,75 127,75 « 0 »
6 26 = 64 ≤ 127,75 63,75 = 127,75 - 64 « 01 »
5 25 = 32 ≤ 63,75 31,75 = 64,75 - 32 « 011 »
4 24 = 16 ≤ 31,75 15,75 = 31,75 - 16 « 0111 »
3 23 = 8 ≤ 15,75 7,75 = 15,75 - 8 « 01111 »
2 22 = 4 ≤ 7,75 3,75 = 7,75 - 4 « 011111 »
1 21 = 2 ≤ 3,75 1,75 = 3,75 - 2 « 0111111 »
0 20 = 1 ≤ 1,75 0,75 = 1,75 – 1 « 01111111. »
-1 2-1 = 0,5 ≤ 0,75 0,25 = 0,75 – 0,5 « 01111111.1 »
-2 2-2 = 0,25 ≤ 0,25 0 = 0,25 – 0,25 « 01111111.11 »

A partir du déroulement de la figure 111, nous pouvons conclure que la valeur entière N = 127,7510 est équivalente à la valeur binaire 1111111.112.

Nous devons maintenant normaliser ce nombre, nous obtenons N = 1.11111111 * 26. Comme nous avons fait un décalage de droite à gauche nous avons fait de + 1 à l’exposant. Initialement l’exposant est 0, nous avons 6 déplacements, donc le nouvel exposant est 6.

Nous passons au codage en IEEE 754 en simple précision et nous obtenons :

0 100000101 11111111000000000000000

En détaillant le résultat, c’est 0 en bit de signe, c’est 01111111 + 101 pour le biais + exposant et c’est 11111111000000000000000 soit la valeur de la mantisse calculée par la normalisation en enlevant le 1 selon la fonction de stockage IEEE 754 en complétant de 0 significatif pour une simple précision.

Si le nombre N est déjà écrit en notation scientifique il est de la forme a.bcde * 10n. Il faut d’abord procéder à une conversion en base 2 pour trouver l’exposant et ensuite traduire le nombre en binaire. Nous pouvons noter que 10 = 8 + 2 = 23 + 21.

Figure 1.4. Mise en œuvre d’un binôme de Newton

Mise en œuvre d’un binôme de Newton

Par exemple prenons 127.75 * 103.

Table 1.12. Mise en œuvre d’un déroulement de l’algorithme de conversion

m TEST N B
Début 127,75 « »
7 27 = 128 > 127,75 127,75 « 0 »
6 26 = 64 ≤ 127,75 63,75 = 127,75 - 64 « 01 »
5 25 = 32 ≤ 63,75 31,75 = 64,75 - 32 « 011 »
4 24 = 16 ≤ 31,75 15,75 = 31,75 - 16 « 0111 »
3 23 = 8 ≤ 15,75 7,75 = 15,75 - 8 « 01111 »
2 22 = 4 ≤ 7,75 3,75 = 7,75 - 4 « 011111 »
1 21 = 2 ≤ 3,75 1,75 = 3,75 - 2 « 0111111 »
0 20 = 1 ≤ 1,75 0,75 = 1,75 – 1 « 01111111. »
-1 2-1 = 0,5 ≤ 0,75 0,25 = 0,75 – 0,5 « 01111111.1 »
-2 2-2 = 0,25 ≤ 0,25 0 = 0,25 – 0,25 « 01111111.11 »


Nous obtenons : 1111111.112 et nous devons noter ce binaire sous une notation scientifique.

Nous devons maintenant normaliser ce nombre, nous obtenons N = 1.11111111 * 26. Comme nous avons fait un décalage de droite à gauche nous avons fait de + 1 à l’exposant. Initialement l’exposant est 0, nous avons 6 déplacements, donc le nouvel exposant est 6.

Nous appliquons le binôme de Newton pour (1010)3 :

(1010)3 = (1 * 2-0 + 3 * 2-2 + 3 * 2-4 + 1 * 2-6) * 23*3

(1010)3 = 29 + 3 * 27 + 3 * 25 + 23

(1010)3 = 29 + 2 * 27 + 27 + 2 * 25 + 25 + 23

(1010)3 = 29 + 28 + 27 + 26 + 25 + 23

(1010)3 = 11111010002

Il faut ensuite faire la multiplication entre les deux valeurs trouvées.

11111001100.00011000 * 26.

1.111100110000011000 * 216.

Nous avons donc : 0 pour le signe positif.

100011112 pour l’exposant plus le biais en simple précision.

11110011000001100000000 pour la matisse en supprimant le premier 1 par fonction de normalisation.

Nous obtenons : 0 10001111 111100110000011000000002

Nous utilisons les nombres dénormalisés pour coder les petites valeurs. Le champ exposant ne contient que des 0 (l’exposant réel est égal à –biais) et le champ mantisse est différent de 0. Pour convertir un nombre dénormalisé en base 10, nous devons utiliser la formule ci-dessous :

Figure 1.5. Algorithme de conversion de dénormalisation en base 10

Algorithme de conversion de dénormalisation en base 10

Si le résultat dépasse la précision demandée, il est possible de refaire les calculs avec une précision supérieure, si elle existe. Pour cela, il faut que les systèmes soient dotés d’une précision dite arbitraire dans laquelle la taille de la mantisse peut être choisie par l'utilisateur. Par exemple, dans les systèmes de calculs, pour maitriser et garantir les arrondis, il existe la bibliothèque GNU MPFR (GNU’s Not Unix Multiple Precision Floating-Point Reliably) suivant le modèle IEEE754.

Addition et soustraction – La norme IEEE754

[Note]

Nom de l’algorithme : Addition de deux nombres Binaire stockés en IEEE754

Donnée d’entrée : Deux nombres binaires au format IEEE754

Donnée produite : Un nombre binaire au format IEEE754

But : Récupération des nombres binaires, calcul de la mantisse, de l’exposant et du signe en appliquant une addition pour deux nombres

Commentaires : Pour que l’algorithme soit compatible sur les 3 précisions, il faut faire les 3 cas du cours. Dans les exemples proposés seuls les simples précisions sont réalisées.

Figure 1.6. Addition de nombres en IEEE 754

Addition de nombres en IEEE 754

Prenons par exemple : B1 = 0 10000010 001000000000000000000002 et B2 = 0 10000011 000100000000000000000002 et additionnions-les. Il faut préciser que nous devons prendre l’algorithme de récupération des valeurs binaires à partir du format IEEE754 pour réaliser les calculs de l’algorithme.

Nous obtenons :

0 pour le signe positif

En exposant + biais commun 1000112

La matisse de B1 évolue en 0.10010000000000000000000

Additionnons les mantisses, et nous obtenons : 1.10100000000000000000000

Après normalisation nous avons : 0 10000011 101000000000000000000002

[Note]

Nom de l’algorithme : Soustraction de deux nombres Binaire stockés en IEEE754

Donnée d’entrée : Deux nombres binaires au format IEEE754

Donnée produite : Un nombre binaire au format IEEE754

But : Récupération des nombres binaires, calcul de la mantisse, de l’exposant et du signe en appliquant une soustraction pour deux nombres

Commentaires : Pour que l’algorithme soit compatible sur les 3 précisions, il faut faire les 3 cas du cours. Dans les exemples proposés seuls les simples précisions sont réalisées.

Figure 1.7. Soustraction de nombres en IEEE 754

Soustraction de nombres en IEEE 754

Prenons par exemple : B1 = 0 10000011 000100000000000000000002 et B2 = 0 10000010 001000000000000000000002 et soustrairons-les. Il faut préciser que nous devons prendre l’algorithme de récupération des valeurs binaires à partir du format IEEE754 pour réaliser les calculs de l’algorithme.

Nous obtenons :

0 pour le signe positif

En exposant + biais commun 1000112

La matisse de B2 évolue en 0.10010000000000000000000

Soustrairons les mantisses, et nous obtenons : 0.10000000000000000000000

Après normalisation nous avons : 0 10000011 000000000000000000000002

Multiplication et division – La norme IEEE754

[Note]

Nom de l’algorithme : Multiplication de deux nombres Binaire stockés en IEEE754

Donnée d’entrée : Deux nombres binaires au format IEEE754

Donnée produite : Un nombre binaire au format IEEE754

But : Récupération des nombres binaires, calcul de la mantisse, de l’exposant et du signe en appliquant une multiplication pour deux nombres

Commentaires : Pour que l’algorithme soit compatible sur les 3 précisions, il faut faire les 3 cas du cours. Dans les exemples proposés seuls les simples précisions sont réalisées.

Figure 1.8. Multiplication de nombres en IEEE 754

Multiplication de nombres en IEEE 754

Prenons par exemple : B1 = 0 10000010 001000000000000000000002 et B2 = 0 10000011 000100000000000000000002 et multiplions-les. Il faut préciser que nous devons prendre l’algorithme de récupération des valeurs binaires à partir du format IEEE754 pour réaliser les calculs de l’algorithme.

Nous obtenons :

0 xor 0 soit 0 pour le signe positif

En exposant + biais commun qui est la somme de 011 + 100 = 111, soit 100001102

Multiplions les mantisses, et nous obtenons : 00110010000000000000000

Après normalisation nous avons : 0 10000110 001100100000000000000002

[Note]

Nom de l’algorithme : Division de deux nombres Binaires stockés en IEEE754

Donnée d’entrée : Deux nombres binaires au format IEEE754

Donnée produite : Un nombre binaire au format IEEE754

But : Récupération des nombres binaires, calcul de la mantisse, de l’exposant et du signe en appliquant une division pour deux nombres

Commentaires : Pour que l’algorithme soit compatible sur les 3 précisions, il faut faire les 3 cas du cours. Dans les exemples proposés seuls les simples précisions sont réalisées.

Figure 1.9. Division de nombres en IEEE 754

Division de nombres en IEEE 754

Prenons par exemple : B1 = 0 10000111 010100000000000000000002 et B2 = 1 10000101 110000000000000000000002 et divisons-les. Il faut préciser que nous devons prendre l’algorithme de récupération des valeurs binaires à partir du format IEEE754 pour réaliser les calculs de l’algorithme.

Nous obtenons :

0 xor 1 soit 1 pour le signe négatif

L’exposant 102 avec la soustraction de l’exposant 10002 de B1 et 1102 de B2

Les deux nombres binaires s’écrivent donc de la manière suivante :

B1 = 1.0101 * 28

B2 = -1.11 * 26

0.11, pour la division 1.0101 / 1.11

-0.11 * 22, le résultat avant la normalisation

Après normalisation nous avons : 1 10000000 100000000000000000000002.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels