Quelle est la différence entre une fraction et un flotteur?
-
29-09-2020 - |
Question
Je comprends n'importe quel fraction pour être un quotient d'entiers qui ne sont pas0 , mais après avoir traversé le terme "flotteur" dans divers langages de programmation (tels que JavaScript), je comprends mal comprendre pourquoi il est même nécessaire et nous ne disons pas une fraction à la place.
Quelle est la différence entre une fraction et un flotteur?
La solution
Les ordinateurs gèrent généralement des nombres à virgule flottante plutôt qu'avec des fractions. La principale différence est que les nombres de points flottants ont une précision limitée, mais sont beaucoup plus rapides pour effectuer des arithmétiques avec (et sont le seul type de nombres non entiers pris en charge de manière native dans le matériel).
Les numéros de point flottant sont stockés dans "Notation scientifique" avec une précision fixe , qui dépend du type de données. À peu près, ils sont stockés dans la forme $ \ alpha \ cdot 2 ^ \ beta $ , où $ 1 \ Leq \ alpha <2 $ , $ \ beta $ est un entier, et les deux sont stockés dans un nombre fixe de bits. Cela limite la précision de $ \ alpha $ et la plage de $ \ beta $ : si $ \ alpha $ est stocké avec $ A $ A $ bits (comme $ 1. x_1 \ ldots x_a $ ) alors il exprime toujours une fraction dont le dénominateur est 2 ^ a $ , et si
En raison de la précision limitée des nombres à virgule flottante, l'arithmétique de ces chiffres n'est qu'approximatif, conduisant à des inexactitudes numériques. Lorsque vous développez des algorithmes, vous devez garder cela à l'esprit. Il y a en fait une zone entière de l'informatique, Analyse numérique , consacrée à de tels problèmes.