Pour plus de clarté, si je suis en utilisant un langage qui met en œuvre IEE 754 flotteurs et je déclare:
float f0 = 0.f;
float f1 = 1.f;
...et de les imprimer ensuite en arrière, je vais obtenir 0.0000 et 1,0000 - exactement.
Mais la norme IEEE 754 n'est pas capable de représenter tous les nombres le long de la ligne réelle. Proche de zéro, les "trous" sont plus petits, comme vous obtenez plus loin, les écarts sont de plus en plus.
Donc, ma question est: pour une norme IEEE 754 flotteur, qui est le premier (le plus proche de zéro) entier qui ne peut pas être représentée exactement? Je ne suis vraiment intéressé à 32 bits flotteurs pour l'instant, même si je serai curieux d'entendre la réponse pour la version 64 bits si quelqu'un le donne!
J'ai pensé que ce serait aussi simple que le calcul des 2bits_of_mantissa et en ajoutant 1, où bits_of_mantissa est cependant nombre de bits de la norme expose. Je l'ai fait pour 32-bit flotte sur ma machine (MSVC++, Win64), et il semble très bien, cependant.