Bonjour,
Pour effectuer une vérification d'un nombre, je souhaiterais obtenir le modulo 97 d'un nombre.
Après récupération et traitements, j'obtiens le nombre dans une chaine (buff). La chaine peut contenir jusqu'à 68 chiffres donc un double est le mieux adapté... enfin ce que je pensais.
lg = atof(buff);
lg = fmod(lg, 97);
Cependant atof() arrondi le nombre après les 14 premiers chiffres.
Voici le trace.
buff : 18206001203540507700148152776
atof : 18206001203540507000000000000.000000
modulo : 33.000000
Le modulo est donc fausser à cause de la conversion de la chaine vers un double.
Auriez vous une solution pour réaliser le modulo d'un très grand nombre?
Partager