2017-10-21 13 views

Répondre

1

La réponse théorique pour la possibilité de créer un tel nombre à virgule flottante contenant l'exposant à virgule flottante est oui, il peut être créé - la façon dont les nombres sont représentés est une question de convention devenue standard. Personne n'est jamais empêché de créer sa propre convention. Il est même théoriquement possible de créer un nombre à virgule flottante à partir du significant en virgule flottante et de l'exposant en virgule flottante avec une base en virgule flottante (pour les explications des termes, voir ci-dessous). En allant encore plus loin, il est même possible de spéculer sur plusieurs niveaux de nombres à virgule flottante utilisés pour des significands consécutifs, des exposants et des radixes. La question est de savoir s'il serait pratique d'utiliser - je suppose que pour certaines applications oui, cela pourrait être une option intéressante pour étendre la portée tout en gardant une précision limitée du nombre à virgule flottante. Ce serait une direction opposée de s'attaquer à un tel problème à celui utilisé en open source GNU MPFR Library où significand et exponent restaient des intégrales mais la gamme reals de précision et représentable a été étendue en utilisant de grands entiers.

Si le nombre doit être accepté par la majorité des implémentations en virgule flottante, ce qui signifie qu'il doit être conforme aux normes, la réponse n'est pas.

Selon IEEE-754 2008 Standard pour virgule flottante Arithmétique:

L'ensemble des nombres à virgule flottante finis représentable dans un format particulier est déterminé par les paramètres entiers suivants:

- b = radix, 2 ou 10

- p = le nombre de chiffres dans la mantisse (précision)

- emax = l'exposant maximum e

- emin = l'exposant minimum e

emin doit être 1 - emax pour tous les formats.

Comme dit au début rien n'empêche quiconque de créer sa propre représentation à virgule flottante composé de significand entier et flottant exposant point - même Signifiant et radix pourrait être un personnalisé. Mais qu'une telle implémentation devrait fournir un support pour son arithmétique des nombres à virgule flottante. Par conséquent, si la question est qu'il est possible de concevoir un tel nombre que la réponse est oui si la question est de savoir si c'est pratique la réponse est oui encore. Pour plus de détails, voir la mise en œuvre de la bibliothèque GNU MPFR.

1

Les formats de virgule flottante actuels sont conçus pour stocker exactement un sous-ensemble de nombres rationnels, en particulier certains nombres avec des représentations de fractions binaires de terminaison. 2^0.25, la racine quatrième de deux, est un nombre irrationnel, tout comme le résultat de la multiplication par un nombre rationnel, y compris 7x2ˆ0.25

Vous pouvez très près approximer comme un numéro de point de Floating classique avec un exposant entier. Par exemple, dans Java 7*Math.pow(2,0.25).

Les nombres à virgule flottante sont généralement destinés à être utilisés comme des approximations, ce qui serait une solution acceptable dans la plupart des cas. Avez-vous une application pour laquelle ce ne serait pas une solution?

Vous demandez également si ce serait conforme à la norme. Il ne serait certainement pas conforme à la norme IEEE 754. Vous n'avez encore rien dit du tout, et compte tenu de sa complexité, il serait très avantageux de l'intégrer à la norme.