Deutsch English Français Italiano |
<vgko9b$35kqs$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: efji <efji@efi.efji> Newsgroups: fr.sci.maths Subject: =?UTF-8?Q?Re=3A_Le_calcul_de_la_racine_carr=C3=A9=2E=2E=2E_pour_des?= =?UTF-8?Q?_nuls_=3A=29?= Date: Fri, 8 Nov 2024 11:14:01 +0100 Organization: A noiseless patient Spider Lines: 53 Message-ID: <vgko9b$35kqs$1@dont-email.me> References: <672bcce0$0$28508$426a74cc@news.free.fr> <vggpas$b9p$1@cabale.usenet-fr.net> <vggrin$29gqi$1@dont-email.me> <672ce7d7$0$12934$426a74cc@news.free.fr> <vgirti$2nvn9$1@dont-email.me> <vgkk1k$2i8l$1@cabale.usenet-fr.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 08 Nov 2024 11:14:04 +0100 (CET) Injection-Info: dont-email.me; posting-host="a8865341ee3e43f25d47719e717e7f8c"; logging-data="3330908"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+5DfiyhJWZ+NTtg6Jrfp1E" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:xuieaAgCEf7bqdWhgLAG2YItMwA= Content-Language: fr, en-US In-Reply-To: <vgkk1k$2i8l$1@cabale.usenet-fr.net> Bytes: 3596 Le 08/11/2024 à 10:01, Olivier Miakinen a écrit : > Le 07/11/2024 18:03, efji a écrit : >>> >>> *Bravo* ! Je ne sais pas comment vous avez établi ces formules... >> >> Pas de mystère. J'ai fait un programme bêtasson et j'ai remarqué qu'il y >> avait 999, 9999, 99999, 999999 qui marchaient, et puis 5050, 500500 etc. >> Ensuite c'est facile à montrer. > > Oui. > >>> De mon côté, je m'apprêtais à faire un programme (en JavaScript) pour >>> trouver les valeurs adequats :-) >> >> Essayez mais à mon avis en javascript vous y êtes encore la semaine >> prochaine pour aller jusqu'à 10^13 avec un langage interprété. Attention >> aussi aux entiers : par défaut les entiers 32 bits ne dépassent pas >> 2x10^9. Il faut utiliser des 64 bits, je ne sais pas si ça existe en >> javascript. > > Si je me rappelle bien, JavaScript représente tous les nombres sous la forme > IEEE754 avec 64 bits, et en particulier il peut représenter de façon exacte > tous les nombres entiers jusqu'à 2^53 = 9 007 199 254 740 992 (et même tous > les nombres entiers de −2^53 à +2^53). > > Après ça ne marche plus parce que 2^53 + 1 n'est pas représentable. Le nombre > représentable suivant est 2^53 + 2. > En fait, je viens de le découvrir car ce langage m'est totalement étranger, il n'y a pas d'entiers en javascript :) Il n'utilise que des flottants de 64 bits. Il y a vraiment des informaticiens bizarres sur cette planète pour penser à des choses pareilles... Du coup je me demande si c'est vraiment possible de faire ce programme pour des grandes valeurs en javascript, à cause des erreurs d'arrondis. Pour des paires de nombres entiers à k chiffres (n,p) il s'agit de calculer (n+p)^2 et de le comparer à (p+nx10^k). Pour une paire qui marche, il n'est pas du tout évident que le calcul en flottant donne l'égalité. Il doit probablement falloir utiliser un test à epsilon près pour que ça marche. Pour les entiers 64 bit, les bornes des valeurs accessibles sont −2^63+1 et +2^63-1 (et pas 2^53). Il y a un bit de signe et 63 bits pour la valeur absolue du nombre. Pour les réels c'est plus compliqué: il y a un bit de signe, 11 bits d'exposant, et donc 52 bits de mantisse. Donc si on fait un calcul sur des entiers on ne peut pas espérer dépasser 10^52. -- F.J.