Liste des Groupes | Revenir à fs maths |
Le 09/11/2024 12:16, efji a écrit :J'espère pour javascript que tu te trompes :)Je reviens à JavaScript. Les indices de tableaux n'y sont *pas* des nombres>>
[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.
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.
Il ne s'agit pas d'indexer un disque dur mais de la mémoire lorsqu'on programme. Je pensais que depuis l'expérience malheureuse de MS-Dos ("je me demande bien qui un jour pourrait avoir besoin de plus de 640Ko de mémoire") tout le monde avait compris que les mémoires utilisées étaient en progression exponentielle sans horizon de stabilisation :)Le truc embêtant c'estLà tu trolles. Personne n'envisage d'indexer les bits ni même les bytes
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.
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é.
Ce n'est pas ce que je dis, j'ai juste dit que ça choque mes habitudes de vieux, mais pourquoi pas si on y gagne quelque chose. Mais en fait je ne vois pas ce qu'on y gagne :)En 32 bits c'est impossible de faire ça car pour le plus grand entier onSoit dit en passant, avec JavaScript il a toujours été possible de définir
passerait de 2^31=2x10^9 à 2^24=16777216, soit même pas ma fortune en € :)
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 ?
Les messages affichés proviennent d'usenet.