Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen Newsgroups: fr.sci.maths Subject: =?UTF-8?Q?Re:_Le_calcul_de_la_racine_carr=c3=a9..._pour_des_nuls_:?= =?UTF-8?Q?=29?= Date: Sat, 9 Nov 2024 20:03:20 +0100 Organization: There's no cabale Lines: 39 Message-ID: References: <672bcce0$0$28508$426a74cc@news.free.fr> <672ce7d7$0$12934$426a74cc@news.free.fr> <672ea1f1$0$16817$426a34cc@news.free.fr> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1731179000 52131 93.28.89.200 (9 Nov 2024 19:03:20 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sat, 9 Nov 2024 19:03:20 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: Bytes: 3182 Le 09/11/2024 14:30, Julien Arlandis a écrit : >> >> 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. >> > Pas sûr de ça, Javascript mélange les tableaux indexés et les tableaux > associatifs, ainsi que le montre cet exemple : > > a = [5, 6, 12, 10] // => [5, 6, 12, 10] > a[3.14] = 66 // => [5, 6, 12, 10, 3.14: 66] Oui, j'ai fait un raccourci en disant « seuls les entiers sont utilisés comme indices de tableaux », car on peut avoir des « index » qui ne sont pas des entiers. Mais même les tableaux associatifs sont limités à une taille de 2^32−1 éléments car en interne ils sont indexés par un entier sur 32 bits : https://www.google.com/search?q=taille+max+d%27un+tableau+en+javascript Les tableaux JavaScript sont basés sur zéro et utilisent des index 32 bits : l'index du premier élément est 0 et l'index le plus élevé possible est 4294967294 (2^32 −2), pour une taille de tableau maximale de 4 294 967 295 éléments. Les nombres non entiers, ou trop grands, sont transformés en chaînes de caractères quand on tente de les utiliser comme index : a = [5, 6, 12, 10] // => [5, 6, 12, 10] a[3.14] = 66 // => [5, 6, 12, 10, '3.14': 66] a[5000000000] = 42 // => [ 5, 6, 12, 10, '3.14': 66, '5000000000': 42 ] a[4000000000] = 41 // => [ 5, 6, 12, 10, <3999999996 empty items>, 41, // '3.14': 66, '5000000000': 42 ] -- Olivier Miakinen