6 points par kunggom 2020-01-07 | Aucun commentaire pour le moment. | Partager sur WhatsApp

La méthode de virgule flottante (Floating point), couramment utilisée par les ordinateurs pour représenter les nombres réels non entiers, a l’avantage de pouvoir représenter une très large plage de valeurs. Mais comme il ne s’agit que d’une représentation approchée, elle comporte des erreurs, ce qui empêche d’exprimer ou de calculer certains nombres avec exactitude. Il faut aussi garder à l’esprit qu’il n’est pas garanti que tous les langages les traitent de la même manière. On peut consulter https://0.30000000000000004.com/ pour voir comment la gestion des nombres à virgule flottante diffère légèrement d’un langage à l’autre.

Voici une présentation d’un document qui explique comment résoudre les problèmes causés par les erreurs de virgule flottante en Python (à partir de la version 3.5 environ). (coréen) La solution la plus propre consisterait à introduire le module decimal et à utiliser un type décimal. L’idée est simple : si les nombres à virgule flottante en binaire posent problème, il suffit de calculer en base 10, comme les humains. Cette méthode est d’ailleurs réellement utilisée dans des domaines comme la finance ou la comptabilité, où les calculs décimaux doivent être exacts.

p.s.

À titre de référence, on sait que les CPU des mainframes IBM intègrent matériellement des fonctions de calcul décimal. De nombreuses banques et autres organisations utilisent encore des mainframes aujourd’hui.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.