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.