Windows et les racines carrées

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

J’ai récemment regardé une vidéo sur Youtube parlant de quelques trucs cachés dans Windows. Rien de bien intéressant sauf le dernier point qui m’a quelque peu intrigué.

Vous pouvez retrouver la démonstration sur la vidéo:

Vidéo de Poisson Fécond (à 8m56s)

Donc le principe consiste à faire la racine carrée d’un nombre dans la calculatrice et de soustraire à ce nombre le résultat de la racine carrée, qui devrait donc toujours donner un résultat de 0.

1
2
Exemple: Racine carrée de 4 => 2, et 2 - 2 = 0
Mais la calculatrice Windows indique dans cet exemple le résultat: -8.1648465955514287168521180122928e-39

Je voulais donc savoir si vous saviez s’il y avait une explication informatique à cela ?

Merci et bonne soirée.

+0 -0
Auteur du sujet

Je vois, mais ce que j’ai un peu de mal à assimiler c’est que 4 est un entier à la racine donc 2 en tant qu’entier, je vois mal pourquoi ces nombres devient flottant :o

+0 -0

Cette réponse a aidé l’auteur du sujet

Je peux me tromper, mais je pense que c’est par soucis de cohérence. 0 et 0.0 ne sont pas identiques. L’un est un entier, l’autre est un flottant. Il est donc plus pratique de ne manipuler que des variables du même type, et vu que le flottant est plus polyvalent, c’est celui-là qu’on prend.

Le langage Python suit d’ailleurs cette logique.

1
2
3
4
5
>>> import math
>>> math.sqrt(4)
2.0
>>> type(math.sqrt(4))
<class 'float'>

"Les accidents dans un système doivent se produire, mais il n’est pas obligatoire qu’ils produisent pour vous et moi." Laurence Gonzales - Deep Survival

+0 -0

Bon par contre le type de la vidéo qui constate l’erreur et commente…

« une cochonnerie, une sorte de message crypté »
« Certains internautes pensent que ça serait des messages cachés glissés par les développeurs qui auraient chiffré une sorte d’alphabet secret où chaque chiffre incohérent correspondrait à une lettre. »

Comme tout ce qui touche au calcul dans l’informatique, ça ressemble à un effet de bord de la représentation standard des nombres flottants.

Même si ça pose beaucoup de problèmes, c’est très loin d’être la seule source de problème en analyse numérique… Typiquement ici, le fait que la racine n’est pas correctement calculé à $10^{-39}$ près (alors que la représentation IEEE 754 permet de descendre plus bas que ça en précision, la preuve étant que l’ordinateur est capable de voir la différence entre le carré de la racine approchée et le carré cible), c’est plus un problème de calcul de la racine qui n’exploite toute la précision possible. Ce n’est pas le sujet pour rentrer dans les détails, mais je souhaitais simplement nuancer cette affirmation.

Édité par adri1

I don’t mind that you think slowly, but I do mind that you are publishing faster. — W. Pauli

+0 -0
Auteur du sujet

Bon et bien merci de vos réponses. Bien que ça reste étrange pour moi que tous les systèmes ne donne pas la même chose (en l’occurrence l’exemple en python qui donne bien 2.0).

Bon par contre le type de la vidéo qui constate l’erreur et commente…

« une cochonnerie, une sorte de message crypté »
« Certains internautes pensent que ça serait des messages cachés glissés par les développeurs qui auraient chiffré une sorte d’alphabet secret où chaque chiffre incohérent correspondrait à une lettre. »

entwanne

:lol:

+0 -0

Cette réponse a aidé l’auteur du sujet

en l’occurrence l’exemple en python qui donne bien 2.0

Faut se méfier de ce que Python t’affiche.

1
2
3
4
>>> 0.1
0.1
>>> '{:.50f}'.format(0.1)
'0.10000000000000000555111512312578270211815834045410'

Édité par adri1

I don’t mind that you think slowly, but I do mind that you are publishing faster. — W. Pauli

+4 -0

Bon par contre le type de la vidéo qui constate l’erreur et commente…

« une cochonnerie, une sorte de message crypté »
« Certains internautes pensent que ça serait des messages cachés glissés par les développeurs qui auraient chiffré une sorte d’alphabet secret où chaque chiffre incohérent correspondrait à une lettre. »

entwanne

En même temps poison fécond c est un des mec les plus putaclic du youtube game, toujours prêt à raconter n importe quoi en ayant vaguement l air "scientifique". S exposer à ses vidéos plus d heure augmenterai de 125% le risque de cancer du cerveau…

“Your manuscript is both good and original. But the part that is good is not original, and the part that is original is not good.” Attributed to Samuel Johnson

+1 -1
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte