Bonjour !
En tapant l'expression suivante (10^40+1-10^40) dans ma calculatrice j'ai obtenu le résultat (surprenant) de 0.
Comment expliquez vous ça
-----
Bonjour !
En tapant l'expression suivante (10^40+1-10^40) dans ma calculatrice j'ai obtenu le résultat (surprenant) de 0.
Comment expliquez vous ça
Ta calculatrice ne gère pas les nombres aussi grands. Donc elle prends un certains nombres de chiffres et un exposant. Pour elle 10^40 ou 10^40+1, c'est la même chose, à savoir 1.0000000000 * 10^40. Donc quand tu retranches l'un à l'autre, ça fait 0.
Question de précision... pour simplifier, elle a un certain nombre de chiffres significatifs maximum, et au delà elle remplace tout par des zéros. Donc pour elle, par exemple avec une précision de 20 chiffres significatifs, 12345678910111213141516171819= 12345678910111213142*109 et de la même manière 1040+1=1040
[EDIT] oups, grillé [/EDIT]
je ne susi pas un matheux et je ne serai pas t'expliquer mais regarde bien si tu tapes 10^40+1 tu trouve 0 donc d'une certaine manière le 1 est suprimé. puis aprés tu as -10^40 donc tu trouve (10^40+1-10^40)=0. par contre quand tu tape (10^40-10^40+1)=1 . En faite mon raisonnement ne fait rien avencer DSL ! Je suis aussi trés curieux de savoir la vrai raison de ce résultat.
cordialement
Avec la simple calculatrice de Windows, j'obtiens bien 1 !
Je ne pense pas que cela vienne de la limitation de ta calculatrice. Une erreur de manip ?
Salut,
ta question est pertinente. En fait, ta calculatrice gère les nombres sous la forme où n est un entier compris entre 0 et ou (voire un peu plus selon les modèles) et m est un entier (compris entre 0 et 100 voire 500).
En d'autres termes, ta calculatrice n'a pas une précision infinie (comme toute les machines à calculer).
Cordialement.
EDIT: croisement: je regarde pour la calculatrice d'un pc.
Je pense que tu veux plutôt dire que cela affiche toujours 10^40 (et pas 0), ce qui est normal vu l'ordre de grandeur utilisé dans l'affichage. Par contre le 1 est quand même pris en compte.Envoyé par benji.je ne susi pas un matheux et je ne serai pas t'expliquer mais regarde bien si tu tapes 10^40+1 tu trouve 0 donc d'une certaine manière le 1 est suprimé. puis aprés tu as -10^40 donc tu trouve (10^40+1-10^40)=0. par contre quand tu tape (10^40-10^40+1)=1 . En faite mon raisonnement ne fait rien avencer DSL ! Je suis aussi trés curieux de savoir la vrai raison de ce résultat.
cordialement
Si et c'est normal. Les calculatrices ne s'amusent pas à garder 41 chiffres significatifs.Envoyé par nissart7831Je ne pense pas que cela vienne de la limitation de ta calculatrice.
Curieux, je pensais qu'avec l'évolution (pas celle de Darwin ) des calculatrices, pour ce si "petites" puissances, il n'y avait pas de différence avec le comportement de la calculatrice d'un PC.Envoyé par martini_birdSalut,
ta question est pertinente. En fait, ta calculatrice gère les nombres sous la forme où n est un entier compris entre 0 et ou (voire un peu plus selon les modèles) et m est un entier (compris entre 0 et 100 voire 500).
En d'autres termes, ta calculatrice n'a pas une précision infinie (comme toute les machines à calculer).
Cordialement.
EDIT: croisement: je regarde pour la calculatrice d'un pc.
EDIT: OK, matthias a répondu. C'est vrai que je me sers rarement d'une calculatrice de poche. J'aurai appris quelque chose au moins.
Ben j'ai essayé avec celle de ubuntu et il ne gère rien au-delà de 10^100-1...
De toute façon toutes les machines sont limitées en précision, ne serait-ce que par la taille de la mémoire...
Cordialement.
petites ? 10^40 c'est déjà pas mal ...Envoyé par nissart7831Curieux, je pensais qu'avec l'évolution (pas celle de Darwin ) des calculatrices, pour ce si "petites" puissances, il n'y avait pas de différence avec le comportement de la calculatrice d'un PC.
Ca ne servirait strictement à rien de faire tous les calculs avec une telle précision. Qu'on puisse programmer des opérations sur des grands nombres ou que ce soit prévu dans les calculatrices dernier cri, pourquoi pas, mais aucune ne doit le faire de base. Par contre, il est possible que certaines ne traitent pas les expression littérales comme (10^40 + 1 - 10^40) dans l'ordre où c'est écrit, voire fassent quelques simplification en calcul formel.
Merci pour vos réponses !
La calculette windows doit utiliser une ruse... 1010000+1, mis en mémoire puis auquel on retire 1010000 après réinitialisation donne 1. Aurait-elle 10000 chiffres significatifs ?
Deuxième expérience pour voir : en faisant (10^40)*1,0000000001, puis en retirant 10^40, elle affiche 100000000000000000000000000000 0, et a donc perdu les 1 qu'il y avait après.
Qu'est-ce que c'est que cette entourloupe ?
Si quelqu'un en sait un peu plus sur ce comportement un peu miraculeux...
Elle gère peut être en partie ça symboliquement avant d'effectuer les sommes?
10^40 + 1 - 10^40 =
Pout toute machine à calculer, la limite réelle de précision existe. (à démontrer ou briser pas un contre-exemple )
Shokin
Pardon, humilité, humour, hasard, tolérance, partage, curiosité et diversité => liberté et sérénité.
Oui, je ne vois pas d'autres solutions. Et visiblement, quand on met un résultat en mémoire dans la calculatrice Windows, elle ne stocke pas le résultat brut (celui qui est affiché), mais une expression symbolique.Envoyé par gillesh38Elle gère peut être en partie ça symboliquement avant d'effectuer les sommes?
Elle trouve 10^30 chez moi, donc pas de problème.Deuxième expérience pour voir : en faisant (10^40)*1,0000000001, puis en retirant 10^40, elle affiche 100000000000000000000000000000 0, et a donc perdu les 1 qu'il y avait après.
Il faudrait faire des tests avec des expressions plus compliquées pour voir.
Je manque sérieusement de sommeilEnvoyé par matthiasElle trouve 10^30 chez moi, donc pas de problème.
Maple est censé gérer une précision infinie, et des nombres exacts. Mais après tout, c'est vrai qu'une fois le la ram pleine, il doit perdre en précision. (ou alors le dd, je ne sais pas s'il stocque des infos en fichiers temp).Envoyé par martini_birdBen j'ai essayé avec celle de ubuntu et il ne gère rien au-delà de 10^100-1...
De toute façon toutes les machines sont limitées en précision, ne serait-ce que par la taille de la mémoire...
Cordialement.
voila la preuve:
"
>10^(10^1000)+1;
Error, integer too large in context
>
"
Tiens, au passage, ça montre que je n'aurais pas pu calculer un nombre de Mersenne 1er avec 10M de chiffres (HS, je sais).Dommage, mon programme aurait pu le faire aussi vite que les programmes spécialisés.
Il me semble qu'on ne connait pas beaucoup de constantes physiques à 10^-40 près.
Ca revient tout de même à évaluer une dimension métrique de la taille de l'univers observable au femtomètre près !!! (environ 1/100 000 de la taille d'un atome)
Il faut faire la différence entre calcul formel et évaluation numérique. Dire que Maple gère une précision infinie est faux.Envoyé par aze555666Maple est censé gérer une précision infinie, et des nombres exacts.
il est "censé", je l'ai bien écrit. Il sera de toute façon limité par la mémoire. Lors d'une application numérique, il se limite d'ailleurs aux décimales spécifiées par Digits.