Sujet : Re: Le calcul de la racine carré... pour des nuls :)
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.sci.mathsDate : 09. Nov 2024, 13:01:25
Autres entêtes
Organisation : There's no cabale
Message-ID : <vgnium$197m$1@cabale.usenet-fr.net>
References : 1 2 3 4 5 6 7 8 9
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 09/11/2024 12:16, efji a écrit :
>
[les entiers comme un sous-ensemble des nombres IEEE 754 double précision]
En effet, ça peut se concevoir, même si c'est perturbant pour un vieux
comme moi. J'aurais du mal à prendre des indices de tableaux comme des
nombres réels, mais on doit pouvoir s'habituer.
Je reviens à JavaScript. Les indices de tableaux n'y sont *pas* des nombres
réels ! Même si les nombres entiers sont codés selon la norme IEEE 754 qui
peut *aussi* coder des nombres non entiers, seuls les entiers sont utilisés
comme indices de tableaux. Je crois même (mais c'est à vérifier) que seuls
les entiers positifs entre 0 et 2^32−1 sont autorisés comme index. Donc pas
3,14, ni −2, ni 2^42.
Le truc embêtant c'est
qu'on perd toute la partie "exposant" du codage : en 64 bits la limite
est 2^53 = 9x10^15 au lieu de 2^63 = 9.2x10^18, on peut s'en contenter,
quoiqu'en adressage il ne soit pas impossible qu'on arrive rapidement à
cette valeur: 9x10^15 c'est 9000 terabits, soient 1000 TB. On y est presque.
Là tu trolles. Personne n'envisage d'indexer les bits ni même les bytes
d'un énorme disque dur en JavaScript. Tu disais toi-même à Thierry Loiseau
qu'il serait inenvisageable de chercher les nombres à l'origine de cette
enfilade au delà de 10^13 avec un langage interprété.
En 32 bits c'est impossible de faire ça car pour le plus grand entier on
passerait de 2^31=2x10^9 à 2^24=16777216, soit même pas ma fortune en € :)
Soit dit en passant, avec JavaScript il a toujours été possible de définir
des structures gérant des nombres entiers de taille indéterminée, et depuis
quelques années le type BigInt a même été inclus en standard.
***
Mais je reviens à ta phrase du début « j'aurais du mal à prendre des indices
de tableaux comme des nombres réels » et à une phrase d'un de tes articles
précédents « il n'y a pas d'entiers en javascript ».
Nous sommes dans le groupe consacré aux mathématiques, fr.sci.maths. Est-ce
que tu considères qu'il n'y a pas d'entiers dans le corps des rationnels ou
dans le corps des réels ?
Eh bien dans un langage tel que JavaScript, c'est pareil : l'ensemble des
nombres représentables est un sous-ensemble des rationnels¹ qui est lui-même
un sous-ensemble des réels, et ce sous-ensemble comporte entre autres tous
les nombres *entiers* compris entre −2^53 et +2^53.
¹ Plus certaines valeurs particulières telles que +∞, −∞ ou NaN.
-- Olivier Miakinen