Utilisateur:Expad/Représentation des nombres à virgule flottante en système ternaire équilibré

Nous détaillerons ici une proposition de format pour une représentation ternaire équilibrée des nombres à virgule flottante, sur le modèle de la norme IEEE 754.

Présentation générale du format

modifier

Nous rappelons qu'en système ternaire équilibré, nous disposons de trois chiffres valant  ,   et  . Dans toute la suite, nous noterons   le chiffre de valeur  .

Le format est composé de   trits d’exposant suivis par   trits de mantisse.

Le format présente des exposants biaisés comme la norme IEEE 754, mais à la différence de celle-ci les biais d'exposant dépendent de la mantisse, plus précisément de son nombre de chiffres significatifs.

Nous noterons   les différents trits. Ainsi   sont les trits d'exposant et   les trits de mantisse.

Nous noterons aussi, de façon partiellement redondante mais pour alléger les écritures :

 
 
 
 

Forme générale

modifier

Notons   ;   représente le nombre de chiffres significatifs offerts par la mantisse mais non-utilisés.

Notons aussi   ;   est le plus petit entier positif non-représenté avec   trits en notation ternaire équilibrée.

Notons enfin   le biais d'exposant, défini égal à   si  , à   si   et nul si   est nul.

Le format définit que le flottant d'exposant   et de mantisse   représente le réel  .

Les biais ont été choisis de façon à assurer :

- que plus l'ordre de grandeur du flottant (c'est-à-dire, le logarithme de sa valeur absolue) est proche de  , plus sa représentation disposera de chiffres significatifs ;
- que la plus petite valeur strictement positive soit du même ordre de grandeur que l’inverse de la plus grande valeur ;
- que la transition entre deux biais d'exposant soit la plus lisse possible.

Remarquons que dans le cas où l'exposant est nul, le biais l'est aussi quelle que soit la mantisse. En l'absence d'autres règles, certains flottants possèderaient alors plusieurs représentations. Pour cette raison, nous réservons l'usage des cas où   à   (avec  ) et aux exceptions détaillées ci-dessous. Toutes les autres représentations s'interprètent comme expliqué précédemment.

Exceptions

modifier

Ce format présente six valeurs spéciales (voir Valeurs particulières) :

- deux infinis :   et   ;
- deux zéros signés :   et   ;
- deux NaN : silencieux et alarmant.

On a donc trois zéros :  ,   et  . Certaines opérations deviennent alors possibles. Ainsi,   mais  .

En revanche,  .

On retrouve aussi :

 .

Représentation

modifier

Pour chaque représentation du tableau ci-dessous,  .

       
         
         
         
         
         

Les autres valeurs représenteront des   ou suivant besoin.

Valeurs caractéristiques

modifier
Valeur
Limite infinie négative  
Limite infinitésimale négative  
   
Limite infinitésimale positive  
Limite infinie positive  

Inconvénients

modifier

Le principal inconvénient est la complication des calculs due à l'existence de différents biais d'exposant. Cependant la présence de nombreux ordres de grandeur entre chaque palier de biais mitige l'importance de ce problème. Une bonne programmation consistera à prendre des unités adaptées, afin que les valeurs soient toutes représentées avec le même biais, et si possible avec   trits significatifs.

Paramètres envisagés

modifier

Choix de multiplets d'une longueur de   trits pour offrir un bon compromis entre concision et combinatoire nécessaire pour qu'un multiplet suffise pour coder un caractère, au moins la plupart du temps.

Précision simple  -trits

modifier

  trits d'exposant ;

  trits de mantisse.

Précision double  -trits

modifier

  trits d'exposant ;

  trits de mantisse.