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
modifierNous 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
modifierNotons ; 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
modifierCe 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
modifierPour chaque représentation du tableau ci-dessous, .
Les autres valeurs représenteront des ou suivant besoin.
Valeurs caractéristiques
modifierValeur | |
---|---|
Limite infinie négative | |
Limite infinitésimale négative | |
Limite infinitésimale positive | |
Limite infinie positive |
Inconvénients
modifierLe 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
modifierChoix 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
modifiertrits d'exposant ;
trits de mantisse.
Précision double -trits
modifiertrits d'exposant ;
trits de mantisse.