Aller au contenu

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

Une page de Wikipédia, l'encyclopédie libre.

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

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

Les autres valeurs représenteront des ou suivant besoin.

Valeurs caractéristiques[modifier | modifier le code]

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

Inconvénients[modifier | modifier le code]

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 | modifier le code]

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 | modifier le code]

trits d'exposant ;

trits de mantisse.

Précision double -trits[modifier | modifier le code]

trits d'exposant ;

trits de mantisse.