| Auteur | Pages : [<] |
|---|---|
| QuentinC | # 16 May 2008 - 07:29:42 |
Étudiant qui bosse ... ou pas 4213 Posts |
(reprise du message précédent) Juste pour info, javascript stocke tous les nombres, qu'ils soient à virgule flottante ou non, selon le format float, qui est sur 32 bits. Dans un nombre à virgule flottante écrit en binaire, on a 3 parties : - Le bit de signe - La valeur réelle - L'exposant qui possède lui aussi son bit de signe. Un nombre s'exprime toujours selon la forme n * 10^m ou n * 2^m (j'ai un doute tout d'un coup). Faudrait regarder la norme IEE754 mais je n'ai pas le temps de vérifier maintenant. java.lang.BrainNotFoundException : Neuron connection failure |
| Julien Royer | # 16 May 2008 - 09:11:35 |
Coin coin Modérateur 3667 Posts |
QuentinC a écrit : +1, sauf qu'en JavaScript on utilise l'équivalent de double en Java, donc 64 bits. Et en effet, les nombres sont stockés sous la forme (-1)^s * m * 2^e : signe, mantisse et exposant. |
| ffwrude | # 16 May 2008 - 10:44:22 |
In Chuck Norris i trust 456 Posts |
Donc au final ce serait "simplement" une impossibilitée de stocker le nombre flotant sur les 32bits qu'utilise JS. Et que dans mon exemple précédent avec le *1000 puis /10 on rentre dans le cas ou le stockage peut se faire (donc aucune génération d'arrondi). Maintenant petite question. Si je veux absolument ne PAS obtenir des résultats ressemblant à 570.67*100 que dois-je faire ? Je me doute que la "solution" du *1000/10 n'en est pas une..... Si j'ai bien compris cela est impossible et un peu aléatoire vu que l'on ne peut pas savoir à l'avance si les nombres rempliront le nombre de bits. Rude PS : pourquoi je ne vois le message de Julien Royer QUE quand je fais répondre et pas dans le post. O_o y'à qu'une page pourtant... Bizarre. Edit : Maintenant que j'ai posté il s'affiche... très bizarre. Modifié par ffwrude (16 May 2008 - 10:44) Moi je suis né un Vendredÿ... Mais je crois que ça se voit ... |
|
|
| skywalk3r | # 16 May 2008 - 11:49:24 |
"Je suis son fils!!!" 333 Posts |
ffwrude a écrit : La solution la plus raisonnable est amha de choisir la précision des résultats en utilisant "Math.round(570.67*100,n)" ou n est le nombre de décimales à garder pour l'arrondi... c'est du moins la seule qui je pense permet un contrôle efficace des résultats. A noter que par exemple Math.round(570.67*100, 500) retournera tout simplement "57067" étant donné qu'ici un arrondi à la 500ème décimal va faire s'arrondir le chiffre à l'entier... C'est l'taaaaalent ça M'sieur dame!!! |
| QuentinC | # 16 May 2008 - 13:38:55 |
Étudiant qui bosse ... ou pas 4213 Posts |
En effet, au temps pour moi, je me suis trompé sur ce coup là. Et en effet, les nombres sont stockés sous la forme (-1)^s * m * 2^e : signe, mantisse et exposant. Ah, voilà le terme que je ne retrouvais plus quand je parlais de valeur réelle : la mantisse.
Ce bug m'est déjà arrivé aussi à moi. Et une ligne de plus sur la to do list de Dew, une ! java.lang.BrainNotFoundException : Neuron connection failure |
| ffwrude | # 16 May 2008 - 17:50:14 |
In Chuck Norris i trust 456 Posts |
Et une ligne de plus sur la to do list de Dew, une ! Sur la to Dew list tu veux dire Rude Modifié par ffwrude (16 May 2008 - 17:50) Moi je suis né un Vendredÿ... Mais je crois que ça se voit ... |
|
|
| Sylvain | # 17 May 2008 - 14:53:17 |
tan phi 1473 Posts |
Dire que je viens sur Alsacréations pour me changer la tête des maths... Bon, l'égalité 0.9999 ... (aussi noté 0.9 avec le 9 souligné, et dont l'écriture la plus rigoureuse est la série écrite plus haut) est vraie. Il y a différentes méthodes de le démontrer: série, fraction (comme au dessus, et au risque de te contredire, FlorentV, 1/3 est bien égal à 0.3 souligné c'est à dire 0.3333) ou encore une méthode plus simple que j'ai vu la première semaine de cours L'idée, c'est qu'on pose x=0.99999 ... Alors 10x=9.999999 .... ce qui est vrai, puisqu'il y a un nombre infini de 9. Donc 10x = 9 + x Et donc 9x=9 d'où x=1. On pourrait y voir un paradoxe, et cela peut sembler étrange, mais ça démontre une réalité bien triste: le chiffre 1 est compliqué à écrire sous forme décimale, puisqu'il y a deux écritures possibles ! Edit: vous pouvez regarder l'article wikipedia sur le sujet. En ce qui concerne Javascript, je n'en ai aucune idée, mais le soucis ne vient à mon avis pas de ce qui est écrit au dessus; je pencherai, à tout hasard, pour une erreur d'arrondi dans les étapes de calcul) Modifié par Sylvain (17 May 2008 - 14:54) A quelque peu abandonné le forum... Donne encore quelques nouvelles sur Journal d'un taupin |
| ffwrude | # 19 May 2008 - 10:18:52 |
In Chuck Norris i trust 456 Posts |
Cela me rappelle un ami qui me disait qu'il avait étudié au lycée les "variations de la constante" (Si ca c'est pas un paradoxe). Y'à t'il une quelquonque corélation entre ca ? Que la constante 1 puisse varier entre 0.9(Souligné) et 1 ? Ou est-ce véritablement une égalitée ? Rude Moi je suis né un Vendredÿ... Mais je crois que ça se voit ... |
|
|
| yahrou | # 19 May 2008 - 11:56:22 |
| 288 Posts |
Ici il n'y a pas de variation, c'est une égalité mathématiques 1 = 0.9999999999999... Quand à la "variation de la constante", en effet c'est quelque chose qu'on étudie dans certains domaine d'analyse je crois (Ah les maths, ça me manque !). Souvent, ça veut juste dire que dans une équation où il y a une constante (mais qui n'ets pas fixée, c'est juste une lettre), on étudie le comportement de l'équation avec différentes constantes. |
| ffwrude | # 19 May 2008 - 12:14:59 |
In Chuck Norris i trust 456 Posts |
De quelle planète viens tu ? XD Merci pour l'explication. Moi je suis né un Vendredÿ... Mais je crois que ça se voit ... |
|
|
| Sylvain | # 24 May 2008 - 15:52:19 |
tan phi 1473 Posts |
ffwrude a écrit : Non, c'est une réelle égalité. Le chiffre 1 peut également s'écrire 0.999999 avec des 9 à l'infini. C'est le système décimal, avec la virgule, qui provoque ce qui semble être un paradoxe, mais c'est bien vrai, puisque démontrable. Si tu savais le nombre de choses qu'on peut démontrer qui paraissent, à première vue, absurde... En ce qui concerne la variation de la constante, je ne vois pas trop comment t'expliquer ceci en trois mots, mais ce n'est que le nom d'une méthode qui permet de trouver des solutions particulières d'équation différentielle linéaire du premier ou du second ordre non homogène (c'est à dire sans second membre). Bref, ce n'est qu'un nom. Plus d'informations ici si tu le souhaites. Faute de pouvoir faire du CSS, j'arrive encore à me rendre utile sur Alsacréations, à quand l'ouverture du forum "Assistance Maths" ? A quelque peu abandonné le forum... Donne encore quelques nouvelles sur Journal d'un taupin |
| Felipe | # 25 May 2008 - 12:09:40 |
| Administrateur 4659 Posts |
Mmh ... pas tout de suite sera ma réponse diplomatique Et puis tu peux toujours aller sur 2e4u, n'est-ce pas Quentin? "variation de la constante": moui abus de langage. Ce n'est pas à la fois constant et variable. On prend ce qui *était* une constante et on décide de le faire varier (pas dans les mêmes équations). Et on garde le même nom histoire d'être certain qu'il y a confusion Concours d'octobre : LOGO sans tortue |
| QuentinC | # 26 May 2008 - 16:59:01 |
Étudiant qui bosse ... ou pas 4213 Posts |
Ca fait bien longtemps que je n'y joue plus, je n'ai plus vraiment le temps, et les énigmes que je suis censé résoudre sont visuelles sur les 4 séries. Mais j'y vais encore de temps en temps pour poster des tournois... d'ailleurs j'ai prévu d'en poster un à la fin juin. java.lang.BrainNotFoundException : Neuron connection failure |
| Lanza | # 26 May 2008 - 17:57:09 |
Mouton Noir 843 Posts |
Felipe a écrit : Felipe, je te hais. Je viens de perdre un après midi par ta faute! Fichue énigme 14... Modifié par Lanza (26 May 2008 - 18:15) |
Pages : [<] |
|
Les références web : openweb.eu.org - opquast.com - webmaster-hub.com - webrankinfo.com - salemioche.net - web-pour-tous.org - webonorme.org
Nos partenaires : Editions Eyrolles
Nikozen : Hébergement - Réalisation : Alsacreations.fr




Et puis tu peux toujours aller sur 2e4u, n'est-ce pas Quentin? 