Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

résultats faux sur des grands nombres

Aucune réponse
Avatar
ikkan
Bonjour,
Je dois calculer le reste d'un très grand nombre entier (de l'ordre de 2^50) dans sa division par 2.
(à noter qu'au delà de 2^50, tout ce que je fais donne des résultats sans intérêt, mais ce n'est pas la question)

J'utilise donc n-2*ent(n/2)
Or ici, la division par 2 et la fonction ent() renvoient tous les deux des résultats faux.
voici un exemple :
- 6643364896033857 /2 donne 332168244801928,0 (et autant de zéro qu'il veut bien afficher)
- ent(332168244801928.0000...) donne 332168244801929

Deux erreurs qui me paraissent aussi hallucinantes que désagréables.
(pour ceux que ça intéresse, je veux un grand nombre aléatoire pour générer une ligne de base d'un automate cellulaire, mais le propos ici est la raison de cette erreur plus que la résolution de mon problème)
Si quelqu'un sait le pourquoi de cet étrange comportement, je serai très reconnaissant qu'il enrichisse ma compréhension de notre logiciel préféré.

Réponses