Les nombres à virgule flottante IEEE 754 peuvent-ils représenter exactement la même valeur avec des configurations à plusieurs bits?Les nombres à virgule flottante IEEE 754 peuvent-ils représenter exactement la même valeur avec plusieurs combinaisons de bits?
Par exemple:
128 exp 3 == 1024,0
256 exp 2 == 1024,0
1024 exp 0 == 1024,0
Est-ce que la norme IEEE 754 envisager différents arrangements de bits pour être égaux en valeur lorsque comparé, tant que la valeur nette semble finalement être la même? Je travaille sur des algorithmes de compression personnalisés, et il serait très utile de savoir s'il y a plusieurs façons de représenter la même valeur (pour améliorer la compression).
Comment considérez-vous 0 et -0? Ils représentent tous les deux zéro, et ont donc, en un sens, la même valeur, mais ils ont des bits de signe différents. –
@PatriciaShanahan Voilà un autre bon exemple d'arrangements à plusieurs bits pour la même valeur. Merci d'avoir fait remarquer cela. On dirait que j'ai besoin de faire attention aux NaN et aux zéros pour les nombres à virgule flottante binaire, ainsi que d'autres redondances pour les nombres décimaux à virgule flottante. – Giffyguy
Notez que 1/+ 0 est l'infini positif alors que 1/-0 est l'infini négatif. Le remplacement de l'un par l'autre est détectable par l'arithmétique et les comparaisons «ordinaires». – tmyklebu