Tutorial 'Floating Point Arithmetic' Review.

This commit is contained in:
Christophe Nanteuil 2018-03-04 00:06:58 +01:00
parent 38ce7ff77e
commit 9a579b746f

View File

@ -9,9 +9,9 @@ msgstr ""
"Project-Id-Version: Python 3.6\n" "Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-04-02 22:11+0200\n" "POT-Creation-Date: 2017-04-02 22:11+0200\n"
"PO-Revision-Date: 2018-02-15 00:58+0100\n" "PO-Revision-Date: 2018-03-03 23:55+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/tutorial/floatingpoint.rst:9 #: ../Doc/tutorial/floatingpoint.rst:9
msgid "Floating Point Arithmetic: Issues and Limitations" msgid "Floating Point Arithmetic: Issues and Limitations"
msgstr "Arithmétique en nombre à virgule flottante : problèmes et limites" msgstr "Arithmétique en nombres à virgule flottante : problèmes et limites"
#: ../Doc/tutorial/floatingpoint.rst:14 #: ../Doc/tutorial/floatingpoint.rst:14
msgid "" msgid ""
@ -34,7 +34,7 @@ msgstr ""
msgid "" msgid ""
"has value 1/10 + 2/100 + 5/1000, and in the same way the binary fraction ::" "has value 1/10 + 2/100 + 5/1000, and in the same way the binary fraction ::"
msgstr "" msgstr ""
"a la valeur 1/10 + 2/100 + 5/1000, et de la même manière, la fraction " "a la valeur 1/10 + 2/100 + 5/1000 et, de la même manière, la fraction "
"binaire : ::" "binaire : ::"
#: ../Doc/tutorial/floatingpoint.rst:23 #: ../Doc/tutorial/floatingpoint.rst:23
@ -45,7 +45,7 @@ msgid ""
msgstr "" msgstr ""
"a la valeur 0/2 + 0/4 + 1/8. Ces deux fractions ont une valeur identique, la " "a la valeur 0/2 + 0/4 + 1/8. Ces deux fractions ont une valeur identique, la "
"seule différence est que la première est une fraction décimale, la seconde " "seule différence est que la première est une fraction décimale, la seconde "
"binaire." "est une fraction binaire."
#: ../Doc/tutorial/floatingpoint.rst:27 #: ../Doc/tutorial/floatingpoint.rst:27
msgid "" msgid ""
@ -54,10 +54,10 @@ msgid ""
"point numbers you enter are only approximated by the binary floating-point " "point numbers you enter are only approximated by the binary floating-point "
"numbers actually stored in the machine." "numbers actually stored in the machine."
msgstr "" msgstr ""
"Malheureusement, la plupart des fractions décimales n'ont pas de " "Malheureusement, la plupart des fractions décimales ne peuvent pas avoir de "
"représentation exacte en fractions binaires. Par conséquent, en général, les " "représentation exacte en fractions binaires. Par conséquent, en général, les "
"nombres à virgule flottante que vous donnez sont seulement approximés en " "nombres à virgule flottante que vous donnez sont seulement approximés en "
"fraction binaire pour être stocké dans la machine." "fractions binaires pour être stockés dans la machine."
#: ../Doc/tutorial/floatingpoint.rst:32 #: ../Doc/tutorial/floatingpoint.rst:32
msgid "" msgid ""
@ -65,7 +65,7 @@ msgid ""
"fraction 1/3. You can approximate that as a base 10 fraction::" "fraction 1/3. You can approximate that as a base 10 fraction::"
msgstr "" msgstr ""
"Le problème est plus simple à aborder en base 10. Prenons par exemple, la " "Le problème est plus simple à aborder en base 10. Prenons par exemple, la "
"fraction 1/3. Vous pouvez l'approximer en une fraction décimale::" "fraction 1/3. Vous pouvez l'approximer en une fraction décimale : ::"
#: ../Doc/tutorial/floatingpoint.rst:37 ../Doc/tutorial/floatingpoint.rst:41 #: ../Doc/tutorial/floatingpoint.rst:37 ../Doc/tutorial/floatingpoint.rst:41
msgid "or, better, ::" msgid "or, better, ::"
@ -77,9 +77,9 @@ msgid ""
"result will never be exactly 1/3, but will be an increasingly better " "result will never be exactly 1/3, but will be an increasingly better "
"approximation of 1/3." "approximation of 1/3."
msgstr "" msgstr ""
"etc... Peu importe le nombre de décimales que vous écrirez, le résultat ne " "etc. Peu importe le nombre de décimales que vous écrivez, le résultat ne "
"sera jamais exactement 1/3, mais une estimation s'en approchant toujours " "vaut jamais exactement 1/3, mais c'est une estimation s'en approchant "
"mieux." "toujours mieux."
#: ../Doc/tutorial/floatingpoint.rst:49 #: ../Doc/tutorial/floatingpoint.rst:49
msgid "" msgid ""
@ -88,7 +88,7 @@ msgid ""
"base 2, 1/10 is the infinitely repeating fraction ::" "base 2, 1/10 is the infinitely repeating fraction ::"
msgstr "" msgstr ""
"De la même manière, peu importe combien de décimales en base 2 vous " "De la même manière, peu importe combien de décimales en base 2 vous "
"utiliserez, la valeur décimale 0.1 ne peut être représentée exactement en " "utilisez, la valeur décimale 0.1 ne peut pas être représentée exactement en "
"fraction binaire. En base 2, 1/10 est le nombre périodique suivant : ::" "fraction binaire. En base 2, 1/10 est le nombre périodique suivant : ::"
#: ../Doc/tutorial/floatingpoint.rst:55 #: ../Doc/tutorial/floatingpoint.rst:55
@ -105,7 +105,7 @@ msgstr ""
"virgule flottante sont approximés par une fraction binaire avec les 53 " "virgule flottante sont approximés par une fraction binaire avec les 53 "
"premiers bits comme numérateur et une puissance de deux au dénominateur. " "premiers bits comme numérateur et une puissance de deux au dénominateur. "
"Dans le cas de 1/10, la fraction binaire est ``3602879701896397 / 2 ** 55`` " "Dans le cas de 1/10, la fraction binaire est ``3602879701896397 / 2 ** 55`` "
"qui est proche mais pas exactement 1/10." "qui est proche mais ne vaut pas exactement 1/10."
#: ../Doc/tutorial/floatingpoint.rst:62 #: ../Doc/tutorial/floatingpoint.rst:62
msgid "" msgid ""
@ -115,9 +115,9 @@ msgid ""
"if Python were to print the true decimal value of the binary approximation " "if Python were to print the true decimal value of the binary approximation "
"stored for 0.1, it would have to display ::" "stored for 0.1, it would have to display ::"
msgstr "" msgstr ""
"Il est facile d'oublier que la valeur stockée est une approximation de la " "Du fait de la manière dont les flottants sont affichés par l'interpréteur, "
"fraction décimale d'origine, du fait de la manière dont les flottants sont " "il est facile d'oublier que la valeur stockée est une approximation de la "
"affichés dans l'interpréteur. Python n'affiche qu'une approximation décimale " "fraction décimale d'origine. Python n'affiche qu'une approximation décimale "
"de la valeur stockée en binaire. Si Python devait afficher la vraie valeur " "de la valeur stockée en binaire. Si Python devait afficher la vraie valeur "
"décimale de l'approximation binaire stockée pour 0,1, il afficherait : ::" "décimale de l'approximation binaire stockée pour 0,1, il afficherait : ::"
@ -126,17 +126,18 @@ msgid ""
"That is more digits than most people find useful, so Python keeps the number " "That is more digits than most people find useful, so Python keeps the number "
"of digits manageable by displaying a rounded value instead ::" "of digits manageable by displaying a rounded value instead ::"
msgstr "" msgstr ""
"C'est bien plus de décimales que nécessaire, donc Python affiche une valeur " "C'est bien plus de décimales que ce qu'attendent la plupart des "
"arrondie afin d'améliorer la lisibilité : ::" "utilisateurs, donc Python affiche une valeur arrondie afin d'améliorer la "
"lisibilité : ::"
#: ../Doc/tutorial/floatingpoint.rst:77 #: ../Doc/tutorial/floatingpoint.rst:77
msgid "" msgid ""
"Just remember, even though the printed result looks like the exact value of " "Just remember, even though the printed result looks like the exact value of "
"1/10, the actual stored value is the nearest representable binary fraction." "1/10, the actual stored value is the nearest representable binary fraction."
msgstr "" msgstr ""
"Il faut se rappeler, bien que la valeur affichée ressemble à la valeur " "Rappelez-vous simplement que, bien que la valeur affichée ressemble à la "
"exacte de 1/10, que la valeur stockée est la représentation la plus proche " "valeur exacte de 1/10, la valeur stockée est la représentation la plus "
"en fraction binaire." "proche en fraction binaire."
#: ../Doc/tutorial/floatingpoint.rst:80 #: ../Doc/tutorial/floatingpoint.rst:80
msgid "" msgid ""
@ -149,9 +150,9 @@ msgid ""
"while still preserving the invariant ``eval(repr(x)) == x``." "while still preserving the invariant ``eval(repr(x)) == x``."
msgstr "" msgstr ""
"Il existe beaucoup de nombres décimaux qui partagent une même approximation " "Il existe beaucoup de nombres décimaux qui partagent une même approximation "
"en fraction binaire. Par exemple, ``0.1``, ``0.10000000000000001``, et " "en fraction binaire. Par exemple, ``0.1``, ``0.10000000000000001`` et "
"``0.1000000000000000055511151231257827021181583404541015625`` ont tous pour " "``0.1000000000000000055511151231257827021181583404541015625`` ont tous pour "
"approximation ``3602879701896397 / 2 ** 55``. Puisques toutes ces valeurs " "approximation ``3602879701896397 / 2 ** 55``. Puisque toutes ces valeurs "
"décimales partagent la même approximation, chacune peut être affichée tout " "décimales partagent la même approximation, chacune peut être affichée tout "
"en respectant ``eval(repr(x)) == x``." "en respectant ``eval(repr(x)) == x``."
@ -163,10 +164,10 @@ msgid ""
"shortest of these and simply display ``0.1``." "shortest of these and simply display ``0.1``."
msgstr "" msgstr ""
"Historiquement, le mode interactif de Python et la primitive :func:`repr` " "Historiquement, le mode interactif de Python et la primitive :func:`repr` "
"auraient choisi la version avec 17 décimales significatives, " "choisissaient la version avec 17 décimales significatives, "
"``0.10000000000000001``. Python, depuis la version 3.1 (sur la majorité des " "``0.10000000000000001``. Python, depuis la version 3.1 (sur la majorité des "
"systèmes) est maintenant capable de choisir la plus courte représentation et " "systèmes) est maintenant capable de choisir la plus courte représentation et "
"n'afficher que ``0.1``." "n'affiche que ``0.1``."
#: ../Doc/tutorial/floatingpoint.rst:93 #: ../Doc/tutorial/floatingpoint.rst:93
msgid "" msgid ""
@ -176,12 +177,13 @@ msgid ""
"arithmetic (although some languages may not *display* the difference by " "arithmetic (although some languages may not *display* the difference by "
"default, or in all output modes)." "default, or in all output modes)."
msgstr "" msgstr ""
"Ce comportement est inhérent au comportement des nombres à virgule " "Ce comportement est inhérent à la nature même de la représentation des "
"flottante : ce n'est pas un bug dans Python, et ce n'est pas non plus un bug " "nombres à virgule flottante dans la machine : ce n'est pas un bogue dans "
"dans votre code. Vous verrez le même type de comportement dans tous les " "Python et ce n'est pas non plus un bogue dans votre code. Vous pouvez "
"autres langages utilisant le support matériel pour le calcul des nombres à " "observer le même type de comportement dans tous les autres langages "
"virgules flottante (bien que certains langages ne rendent pas visible la " "utilisant le support matériel pour le calcul des nombres à virgule flottante "
"différence par défaut, ou pas dans tous les modes d'affichage)." "(bien que certains langages ne rendent pas visible la différence par défaut, "
"ou pas dans tous les modes d'affichage)."
#: ../Doc/tutorial/floatingpoint.rst:99 #: ../Doc/tutorial/floatingpoint.rst:99
msgid "" msgid ""
@ -197,8 +199,9 @@ msgid ""
"It's important to realize that this is, in a real sense, an illusion: you're " "It's important to realize that this is, in a real sense, an illusion: you're "
"simply rounding the *display* of the true machine value." "simply rounding the *display* of the true machine value."
msgstr "" msgstr ""
"Il est important de comprendre qu'en réalité, c'est une illusion : Python " "Il est important de comprendre que tout cela n'est, au sens propre, qu'une "
"arrondit simplement, la vraie valeur stockée, à *l'affichage*." "illusion : vous demandez simplement à Python d'arrondir la valeur stockée "
"réellement dans la machine à *l'affichage*."
#: ../Doc/tutorial/floatingpoint.rst:114 #: ../Doc/tutorial/floatingpoint.rst:114
msgid "" msgid ""
@ -216,8 +219,8 @@ msgid ""
msgstr "" msgstr ""
"Aussi, puisque 0,1 ne peut pas être stocké avec une représentation plus " "Aussi, puisque 0,1 ne peut pas être stocké avec une représentation plus "
"proche de sa valeur exacte 1/10, comme 0,3 qui ne peut pas être plus proche " "proche de sa valeur exacte 1/10, comme 0,3 qui ne peut pas être plus proche "
"de sa valeur exacte 3/10, arrondir avec la fonction :func:`round` n'aide en " "de sa valeur exacte 3/10, arrondir au préalable avec la fonction :func:"
"rien : ::" "`round` n'aide en rien : ::"
#: ../Doc/tutorial/floatingpoint.rst:127 #: ../Doc/tutorial/floatingpoint.rst:127
msgid "" msgid ""
@ -225,9 +228,9 @@ msgid ""
"the :func:`round` function can be useful for post-rounding so that results " "the :func:`round` function can be useful for post-rounding so that results "
"with inexact values become comparable to one another::" "with inexact values become comparable to one another::"
msgstr "" msgstr ""
"Bien que les nombres ne peuvent se rapprocher plus de la valeur qu'on attend " "Bien que les nombres ne peuvent se rapprocher plus de la valeur quon attend "
"qu'ils aient, la fonction :func:`round` peut être utile à posteriori pour " "quils aient, la fonction :func:`round` peut être utile à postériori pour "
"arrondir deux valeurs inexactes et les rendre comparables : ::" "arrondir deux valeurs inexactes et pouvoir les comparer : ::"
#: ../Doc/tutorial/floatingpoint.rst:134 #: ../Doc/tutorial/floatingpoint.rst:134
msgid "" msgid ""
@ -239,7 +242,7 @@ msgid ""
msgstr "" msgstr ""
"L'arithmétique des nombres binaires à virgule flottante réserve beaucoup de " "L'arithmétique des nombres binaires à virgule flottante réserve beaucoup de "
"surprises de ce genre. Le problème avec \"0.1\" est expliqué en détails ci-" "surprises de ce genre. Le problème avec \"0.1\" est expliqué en détails ci-"
"desous, dans la section \"Représentation d'Erreur\". Voir `The Perils of " "dessous, dans la section \"Erreurs de représentation\". Voir `The Perils of "
"Floating Point <http://www.lahey.com/float.htm>`_ pour une liste plus " "Floating Point <http://www.lahey.com/float.htm>`_ pour une liste plus "
"complète de ce genre de surprises." "complète de ce genre de surprises."
@ -253,14 +256,14 @@ msgid ""
"decimal arithmetic and that every float operation can suffer a new rounding " "decimal arithmetic and that every float operation can suffer a new rounding "
"error." "error."
msgstr "" msgstr ""
"Il est vrai qu'il n'existe pas de réponse simple, cependant ne vous méfiez " "Même s'il est vrai qu'il n'existe pas de réponse simple, ce n'est pas la "
"pas trop des nombres à virtule flottante ! Les erreurs, en Python, dans les " "peine de vous méfier outre mesure des nombres à virgule flottante ! Les "
"opérations de nombres à virgule flottante sont dues au matériel sous-jacent, " "erreurs, en Python, dans les opérations de nombres à virgule flottante sont "
"et sur la plupart des machines ne sont pas plus importantes que 1 sur 2\\*" "dues au matériel sous-jacent et, sur la plupart des machines, sont de "
"\\*53 par opération. C'est plus que nécessaire pour la plupart des tâches, " "l'ordre de 1 sur 2\\*\\*53 par opération. C'est plus que suffisant pour la "
"mais vous devez garder à l'esprit que ce ne sont pas des opérations " "plupart des tâches, mais vous devez garder à l'esprit que ce ne sont pas des "
"décimales, et que chaque opération sur des nombres à virgule flottante peut " "opérations décimales et que chaque opération sur des nombres à virgule "
"souffrir d'une nouvelle erreur." "flottante peut souffrir d'une nouvelle erreur."
#: ../Doc/tutorial/floatingpoint.rst:146 #: ../Doc/tutorial/floatingpoint.rst:146
msgid "" msgid ""
@ -271,7 +274,7 @@ msgid ""
"`str.format` method's format specifiers in :ref:`formatstrings`." "`str.format` method's format specifiers in :ref:`formatstrings`."
msgstr "" msgstr ""
"Bien que des cas pathologiques existent, pour la plupart des cas " "Bien que des cas pathologiques existent, pour la plupart des cas "
"d'utilisations courants vous obtiendrez le résultat attendu à la fin et en " "d'utilisations courants vous obtiendrez le résultat attendu à la fin en "
"arrondissant simplement au nombre de décimales désirées à l'affichage avec :" "arrondissant simplement au nombre de décimales désirées à l'affichage avec :"
"func:`str`. Pour un contrôle fin sur la manière dont les décimales sont " "func:`str`. Pour un contrôle fin sur la manière dont les décimales sont "
"affichées, consultez dans :ref:`formatstrings` les spécifications de " "affichées, consultez dans :ref:`formatstrings` les spécifications de "
@ -284,7 +287,7 @@ msgid ""
"applications and high-precision applications." "applications and high-precision applications."
msgstr "" msgstr ""
"Pour les cas requérant une représentation décimale exacte, le module :mod:" "Pour les cas requérant une représentation décimale exacte, le module :mod:"
"`decimal` peut être utile, il implémente l'arithmétique décimale et peut " "`decimal` peut être utile : il implémente l'arithmétique décimale et peut "
"donc être un choix adapté pour des applications nécessitant une grande " "donc être un choix adapté pour des applications nécessitant une grande "
"précision." "précision."
@ -295,7 +298,7 @@ msgid ""
"1/3 can be represented exactly)." "1/3 can be represented exactly)."
msgstr "" msgstr ""
"Une autre forme d'arithmétique exacte est implémentée dans le module :mod:" "Une autre forme d'arithmétique exacte est implémentée dans le module :mod:"
"`fractions` qui se base sur les nombre rationnels (donc 1/3 peut y être " "`fractions` qui se base sur les nombres rationnels (donc 1/3 peut y être "
"représenté exactement)." "représenté exactement)."
#: ../Doc/tutorial/floatingpoint.rst:160 #: ../Doc/tutorial/floatingpoint.rst:160
@ -306,9 +309,9 @@ msgid ""
"org>." "org>."
msgstr "" msgstr ""
"Si vous êtes un utilisateur intensif des opérations sur les nombres à " "Si vous êtes un utilisateur intensif des opérations sur les nombres à "
"virgule flottante, vous devriez regarder le paquet *Numerical Python* et une " "virgule flottante, nous vous conseillons de considérer le paquet *Numerical "
"série d'autres paquets pour les opérations statistiques et mathématiques " "Python* ainsi que les paquets pour les opérations statistiques et "
"fournis par le projet SciPy. Voir <https://scipy.org>." "mathématiques fournis par le projet SciPy. Consultez <https://scipy.org>."
#: ../Doc/tutorial/floatingpoint.rst:164 #: ../Doc/tutorial/floatingpoint.rst:164
msgid "" msgid ""
@ -316,8 +319,8 @@ msgid ""
"*do* want to know the exact value of a float. The :meth:`float." "*do* want to know the exact value of a float. The :meth:`float."
"as_integer_ratio` method expresses the value of a float as a fraction::" "as_integer_ratio` method expresses the value of a float as a fraction::"
msgstr "" msgstr ""
"Python fournit des outils qui peuvent être utils dans les rares occasions ou " "Python fournit des outils qui peuvent être utiles dans les rares occasions "
"vous voulez réellement connaître la valeur exacte d'un nombre à virgule " "vous voulez réellement connaître la valeur exacte d'un nombre à virgule "
"flottante. La méthode :meth:`float.as_integer_ratio` donne la valeur du " "flottante. La méthode :meth:`float.as_integer_ratio` donne la valeur du "
"nombre sous forme de fraction : ::" "nombre sous forme de fraction : ::"
@ -327,7 +330,7 @@ msgid ""
"value::" "value::"
msgstr "" msgstr ""
"Puisque le ratio est exact, il peut être utilisé pour recréer la valeur " "Puisque le ratio est exact, il peut être utilisé pour recréer la valeur "
"originale dans perte : ::" "originale sans perte : ::"
#: ../Doc/tutorial/floatingpoint.rst:179 #: ../Doc/tutorial/floatingpoint.rst:179
msgid "" msgid ""
@ -343,7 +346,7 @@ msgid ""
"value exactly::" "value exactly::"
msgstr "" msgstr ""
"Cette représentation hexadécimale petit être utilisée pour reconstruire, " "Cette représentation hexadécimale petit être utilisée pour reconstruire, "
"sans approximation, le *float* ::" "sans approximation, le *float* : ::"
#: ../Doc/tutorial/floatingpoint.rst:191 #: ../Doc/tutorial/floatingpoint.rst:191
msgid "" msgid ""
@ -353,8 +356,8 @@ msgid ""
"C99)." "C99)."
msgstr "" msgstr ""
"Puisque cette représentation est exacte, elle est pratique pour échanger des " "Puisque cette représentation est exacte, elle est pratique pour échanger des "
"valeurs entre différentes version de Python (indépendamment de la machine) " "valeurs entre différentes versions de Python (indépendamment de la machine) "
"ou d'autres langages qui comprennent ce format (tel que Java et C99)." "ou d'autres langages qui comprennent ce format (tels que Java et C99)."
#: ../Doc/tutorial/floatingpoint.rst:195 #: ../Doc/tutorial/floatingpoint.rst:195
msgid "" msgid ""
@ -364,11 +367,11 @@ msgid ""
"so that the errors do not accumulate to the point where they affect the " "so that the errors do not accumulate to the point where they affect the "
"final total:" "final total:"
msgstr "" msgstr ""
"Une autre fonction utile est :func:`math.fsum`, qui aide à diminuer les " "Une autre fonction utile est :func:`math.fsum`, elle aide à diminuer les "
"pertes de précision lors des additions. Elle surveille les *décimales " "pertes de précision lors des additions. Elle surveille les *décimales "
"perdues* au fur et à mesure que les valeurs sont ajoutées au total. Cela " "perdues* au fur et à mesure que les valeurs sont ajoutées au total. Cela "
"peut faire une différence au niveau de la précision globale car cela empêche " "peut faire une différence au niveau de la précision globale en empêchant les "
"les erreurs de s'accumuler jusqu'au point ou le résultat final est affecté:" "erreurs de s'accumuler jusqu'à affecter le résultat final :"
#: ../Doc/tutorial/floatingpoint.rst:209 #: ../Doc/tutorial/floatingpoint.rst:209
msgid "Representation Error" msgid "Representation Error"
@ -380,10 +383,10 @@ msgid ""
"perform an exact analysis of cases like this yourself. Basic familiarity " "perform an exact analysis of cases like this yourself. Basic familiarity "
"with binary floating-point representation is assumed." "with binary floating-point representation is assumed."
msgstr "" msgstr ""
"Cette section explique en détail l'exemple du \"0.1\", et montre comment " "Cette section explique en détail l'exemple du \"0.1\" et montre comment vous "
"vous pouvez effectuer une analyse exacte de ce type de cas par vous-même. Il " "pouvez effectuer une analyse exacte de ce type de cas par vous-même. Nous "
"est supposé que vous êtes déjà familier de la représentation binaire des " "supposons que la représentation binaire des nombres flottants vous est "
"nombres flottants." "familière."
#: ../Doc/tutorial/floatingpoint.rst:215 #: ../Doc/tutorial/floatingpoint.rst:215
msgid "" msgid ""
@ -393,10 +396,11 @@ msgid ""
"Fortran, and many others) often won't display the exact decimal number you " "Fortran, and many others) often won't display the exact decimal number you "
"expect." "expect."
msgstr "" msgstr ""
"Le terme :dfn:`Representation error` signifie que la plupart des fractions " "Le terme :dfn:`Erreur de représentation` (*representation error* en anglais) "
"décimales ne peuvent être représentées exactement en binaire. C'est la " "signifie que la plupart des fractions décimales ne peuvent être représentées "
"principale raison pour laquelle Python (ou Perl, C, C++, Java, Fortran, et " "exactement en binaire. C'est la principale raison pour laquelle Python (ou "
"beuacoup d'autres) n'affiche habituellement pas le résultat exact en décimal." "Perl, C, C++, Java, Fortran et beaucoup d'autres) n'affiche habituellement "
"pas le résultat exact en décimal."
#: ../Doc/tutorial/floatingpoint.rst:220 #: ../Doc/tutorial/floatingpoint.rst:220
msgid "" msgid ""
@ -407,15 +411,15 @@ msgid ""
"strives to convert 0.1 to the closest fraction it can of the form *J*/2**\\ " "strives to convert 0.1 to the closest fraction it can of the form *J*/2**\\ "
"*N* where *J* is an integer containing exactly 53 bits. Rewriting ::" "*N* where *J* is an integer containing exactly 53 bits. Rewriting ::"
msgstr "" msgstr ""
"Pourquoi ? 1/10 n'est pas représentable de manière exacte en fractions " "Pourquoi ? 1/10 n'est pas représentable de manière exacte en fraction "
"binaires. Cependant, toutes les machines d'aujourd'hui (Juillet 2010) " "binaire. Cependant, toutes les machines d'aujourd'hui (novembre 2000) "
"suivent la norme IEEE-754 en ce qui concerne l'arithmétique des nombres à " "suivent la norme IEEE-754 en ce qui concerne l'arithmétique des nombres à "
"virgule flottante. et la plupart des plateformes utilisent un \"IEEE-754 " "virgule flottante et la plupart des plateformes utilisent un \"IEEE-754 "
"double precision\" pour représenter les floats de Python. Les \"IEEE-754 " "double précision\" pour représenter les floats de Python. Les \"IEEE-754 "
"double precision\" utilisent 53 bits de précision, donc a la lecture " "double précision\" utilisent 53 bits de précision donc, à la lecture, "
"l'ordinateur essaie de convertir 0,1 dans la fraction la plus proche " "l'ordinateur essaie de convertir 0,1 dans la fraction la plus proche "
"possible de la forme *J*/2**\\ *N* avec *J* un nombre entier d'exactement 53 " "possible de la forme *J*/2**\\ *N* avec *J* un nombre entier d'exactement 53 "
"bits. Réecrire : ::" "bits. Pour réécrire : ::"
#: ../Doc/tutorial/floatingpoint.rst:229 #: ../Doc/tutorial/floatingpoint.rst:229
msgid "as ::" msgid "as ::"
@ -427,7 +431,7 @@ msgid ""
"2**53``), the best value for *N* is 56::" "2**53``), the best value for *N* is 56::"
msgstr "" msgstr ""
"en se rappelant que *J* fait exactement 53 bits (donc ``>= 2**52`` mais ``< " "en se rappelant que *J* fait exactement 53 bits (donc ``>= 2**52`` mais ``< "
"2**53``), la meilleur valeur possible pour *N* est 56::" "2**53``), la meilleure valeur possible pour *N* est 56 : ::"
#: ../Doc/tutorial/floatingpoint.rst:239 #: ../Doc/tutorial/floatingpoint.rst:239
msgid "" msgid ""
@ -436,7 +440,7 @@ msgid ""
msgstr "" msgstr ""
"Donc 56 est la seule valeur possible pour *N* qui laisse exactement 53 bits " "Donc 56 est la seule valeur possible pour *N* qui laisse exactement 53 bits "
"pour *J*. La meilleure valeur possible pour *J* est donc ce quotient, " "pour *J*. La meilleure valeur possible pour *J* est donc ce quotient, "
"arrondi::" "arrondi : ::"
#: ../Doc/tutorial/floatingpoint.rst:246 #: ../Doc/tutorial/floatingpoint.rst:246
msgid "" msgid ""
@ -444,7 +448,7 @@ msgid ""
"obtained by rounding up::" "obtained by rounding up::"
msgstr "" msgstr ""
"Puisque la retenue est plus grande que la moitié de 10, la meilleure " "Puisque la retenue est plus grande que la moitié de 10, la meilleure "
"approximation est obtenue en arrondissant par le haut:" "approximation est obtenue en arrondissant par le haut : ::"
#: ../Doc/tutorial/floatingpoint.rst:252 #: ../Doc/tutorial/floatingpoint.rst:252
msgid "" msgid ""
@ -452,7 +456,7 @@ msgid ""
"is::" "is::"
msgstr "" msgstr ""
"Par conséquent la meilleure approximation possible pour 1/10 en \"IEEE-754 " "Par conséquent la meilleure approximation possible pour 1/10 en \"IEEE-754 "
"double precision\" est cette au desus de 2\\*\\*56, soit : ::" "double précision\" est celle au-dessus de 2\\*\\*56, soit : ::"
#: ../Doc/tutorial/floatingpoint.rst:256 #: ../Doc/tutorial/floatingpoint.rst:256
msgid "" msgid ""
@ -467,7 +471,7 @@ msgid ""
"smaller than 1/10. But in no case can it be *exactly* 1/10!" "smaller than 1/10. But in no case can it be *exactly* 1/10!"
msgstr "" msgstr ""
"Notez que puisque l'arrondi a été fait vers le haut, le résultat est en " "Notez que puisque l'arrondi a été fait vers le haut, le résultat est en "
"réalité légèrement plus grand que 1/10; si nous n'avions pas arrondi par le " "réalité légèrement plus grand que 1/10 ; si nous n'avions pas arrondi par le "
"haut, le quotient aurait été légèrement plus petit que 1/10. Mais dans aucun " "haut, le quotient aurait été légèrement plus petit que 1/10. Mais dans aucun "
"cas il ne vaut *exactement* 1/10 !" "cas il ne vaut *exactement* 1/10 !"
@ -476,17 +480,17 @@ msgid ""
"So the computer never \"sees\" 1/10: what it sees is the exact fraction " "So the computer never \"sees\" 1/10: what it sees is the exact fraction "
"given above, the best 754 double approximation it can get::" "given above, the best 754 double approximation it can get::"
msgstr "" msgstr ""
"Donc l'ordinateur ne \"voit\" jamais 1/10: ce qu'il voit est la fraction " "Donc l'ordinateur ne \"voit\" jamais 1/10 : ce qu'il voit est la fraction "
"exacte donnée ci-dessus, la meilleure approximation utilisant les nombres à " "exacte donnée ci-dessus, la meilleure approximation utilisant les nombres à "
"virgule flottante double précision de l'\"IEEE-754\"" "virgule flottante double précision de l'\"IEEE-754\" : ::"
#: ../Doc/tutorial/floatingpoint.rst:270 #: ../Doc/tutorial/floatingpoint.rst:270
msgid "" msgid ""
"If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 " "If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 "
"decimal digits::" "decimal digits::"
msgstr "" msgstr ""
"Si on multiplie cette fraction par 10\\*\\*30, on peut observer les valeurs " "Si nous multiplions cette fraction par 10\\*\\*30, nous pouvons observer les "
"de ses 55 décimales de poid fort::" "valeurs de ses 55 décimales de poids fort : ::"
#: ../Doc/tutorial/floatingpoint.rst:276 #: ../Doc/tutorial/floatingpoint.rst:276
msgid "" msgid ""
@ -495,11 +499,11 @@ msgid ""
"displaying the full decimal value, many languages (including older versions " "displaying the full decimal value, many languages (including older versions "
"of Python), round the result to 17 significant digits::" "of Python), round the result to 17 significant digits::"
msgstr "" msgstr ""
"la valeur stockée dans l'ordinateur est donc égale à " "La valeur stockée dans l'ordinateur est donc égale à "
"0,1000000000000000055511151231257827021181583404541015625. Au lieu " "0,1000000000000000055511151231257827021181583404541015625. Au lieu "
"d'afficher toutes les décimales, beaucoup de langages (dont les vieilles " "d'afficher toutes les décimales, beaucoup de langages (dont les vieilles "
"version de Python) arrondissent le résultat à la 17eme décimale " "versions de Python) arrondissent le résultat à la 17eme décimale "
"significative." "significative : ::"
#: ../Doc/tutorial/floatingpoint.rst:284 #: ../Doc/tutorial/floatingpoint.rst:284
msgid "" msgid ""