résultats faux sur des grands nombres

Le
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é.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Publicité
Poster une réponse
Anonyme