Nombre dénormalisé

From Wikipedia, the free encyclopedia

La notion de nombre dénormalisé intervient dans la représentation des nombres en informatique par la méthode de la virgule flottante, telle que normalisé par la norme IEEE 754. C'est une manière de représenter des nombres ayant une valeur très proche de zéro.

La représentation en virgule flottante pour les ordinateurs est fondée sur deux notions : la notation scientifique et le système binaire (ou base 2).

Pour écrire les nombres en base 10, on peut utiliser la notation dite « scientifique », qui comprend deux parties :

  • un nombre décimal n, positif ou négatif, dont la valeur absolue est comprise entre 1 inclus et 10 exclus ; 1 ≤ n < 10 ;
  • une puissance entière de 10, a ;

sous la forme « n × 10a ». Par exemple :

  • 1 en écriture scientifique se note « 1 × 100 » ;
  • -85 en écriture scientifique se note « -8,5 × 101 » ;
  • 0,012 3 en écriture scientifique se note « 1,23 × 10−2 ».

Le terme « exposant » correspond à la puissance de 10, et le terme mantisse correspond à la partie décimale. Ainsi, dans « 1,23 × 10−2 »,

  • la mantisse (ou significande) est « 1,23 » ;
  • l'exposant est « -2 ».

Le système binaire, dit aussi « base 2 », est une manière de noter les nombres ne faisant intervenir que deux chiffres, 0 et 1. Il est bien adapté à l'électronique, puisque cela correspond à deux états bien distincts : on a aux bornes d'un composant une tension V0 ou une tension V1 le courant ne passe pas ou le courant passe »). Pour distinguer cette notation de la notation décimale, nous ajoutons ici un « b » à la fin du nombre. Voici quelques exemples de nombres :

  • 0b = 0 ;
  • 1b = 1 ;
  • 10b = 2 ;
  • 11b = 3 ;
  • 0,1b = 0,5 ;
  • 0,01b = 0,25 ;
  • 0,11b = 0,75 ;

Un nombre binaire à virgule de quatre chiffres n1n0,n-1n-2b correspond au nombre décimal n1 × 21 + n0 × 20 + n-1 × 2-1 + n-2 × 2-2.

On peut ainsi avoir une notation scientifique binaire :

n1n0,n-1n-2b peut se noter n1,n0n-1n-2b × 21.

par exemple

  • 11b = 1,1b × 21
  • 0,11b = 1,1b × 2-1

Dans le cas de la notation scientifique binaire, le nombre à virgule doit être compris entre 1b inclus et 10b exclus (c'est-à-dire 1 ≤ n < 2), c'est-à-dire que sa partie entière est nécessairement 1b.

Représentation d'un nombre normalisé

Selon la norme IEEE 754, la représentation d'un nombre réel peut se décomposer en trois parties :

  • le signe, +1 ou -1, sous la forme de un bit ;
  • l'exposant décalé (ou biaisé), sous la forme de e bits représentant un nombre entier ;
  • la mantisse, sous la forme de m bits représentant un nombre positif strictement inférieur à 1.

La valeur du nombre représenté vaut :

valeur = signe × (1 + mantisse) × 2(exposant − décalage)

En effet, en notation scientifique en base binaire, la partie entière est nécessairement 1, il est donc inutile d'utiliser un bit pour la représenter, on se contente de représenter la partie fractionnaire.

Représentation d'un nombre dénormalisé

Un nombre est dit dénormalisé lorsque

  • exposant = 0, et
  • mantisse ≠ 0.

Si l'on suivait la même représentation que pour les nombres à exposant non nul, on aurait

valeur = signe × (1 + mantisse) × 2-décalage

mais la valeur retenue est

valeur = signe × mantisse × 2-décalage + 1

c'est-à-dire que pour un exposant codé sur 8 bits (représentation dite à simple précision), on a

valeur = signe × mantisse × 2-126

et que pour un exposant codé sur 11 bits (représentation dite à double précision), on a

valeur = signe × mantisse × 2-1022

Raison de cette représentation

Impact sur les performances

Voir aussi

Related Articles

Wikiwand AI