La précision est importante uniquement lorsque le nombre ne peut pas être représenté exactement. Puisque les flotteurs et les doubles (étant des valeurs simples et doubles de précision IEEE 754) peuvent représenter exactement 1.0, la précision n'entre pas en ligne de compte.
1.0
1.0
est fondamentalement un bit de signe nul, tous les bits d'exposant sauf le plus élevé défini sur 1 et aucun ensemble de bits de mantisse. En simple précision, c'est binaire:
0-01111111-00000000000000000000000
et, pour double précision:
0-01111111111-0000000000000000000000000000000000000000000000000000
Tous les chiffres sont exactement représentable dans IEEE 754 - par exemple, le 1.1
vous mentionnez dans un commentaire est stocké comme 1.100000023841858
en simple précision. Jetez un oeil à this answer pour un exemple de décodage d'une valeur à virgule flottante.
Harald Schmidt's online single-precision converter est un excellent site pour jouer avec si vous voulez comprendre les formats. Je l'aimais tellement, j'ai fait une version de bureau au cas où il a disparu (et était capable de faire double précision aussi bien).
Ici nous allons à nouveau ... S'il vous plaît lire le document suivant avant d'essayer toute autre programmation à virgule flottante: http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html –
S'il vous plaît le lier à la question en double –
@PaulR Ce que j'ai demandé est un peu différent !! –