Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1701 connectés 

 



Dernière réponse
Sujet : Probleme PHP modulo
snooper je te remercie c super sympa
j'essaierai ca demain au taff
donc ca explique bien mes erreur pour mes grands nombres
 
encore merci.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
snooper je te remercie c super sympa
j'essaierai ca demain au taff
donc ca explique bien mes erreur pour mes grands nombres
 
encore merci.
Mara's dad Dans la doc, y disent que si un entier dépasse la valeur maxi : "La taille des entiers dépend de la plate-forme de support, mais la valeur maximale est généralement de 2 milliards et des poussières (c'est un entier signé de 32 bits)" il est automatiquement casté en float.
C'est ce qui doit donc se passer, mais alors la, gaffe à la perte de précision ! Une erreur qui est peut-être minime sur une division peut devenir n'importe quoi sur un modulo !
Je connais pas leur algo pour le modulo, mais c'est sûr qu'il merde pour les grand nombre, surement a cause de la perte de précision.
 
essaye :
 
$Nombre = 12345678901;  // grand nombre divisé par 97
$div = $nombre / 97;    // $div = résultat de la division
$frac = $div - floor( $div );   // $frac = partie après la virgule
$mod = ceil($frac * 97);   // Modulo !
 
Dans cet exemple, le modulo trouvé est 21, ce que la calculatrice de windows confirme !
 
Sinon, pour manipuler des grand nombres, y'a des libs spécialisés : http://www.php.net/manual/fr/ref.bc.php
snooper ok je vais essayer
mais c bizare pke la division marche bien mais pas le modulo
j ai un resultat erroné !!
 
je te remercie.
gizmo peut-être que tu dois caster le chiffre en (double).
snooper J ai un probleme avec l'operateur arithmetique modulo soit %
Lorsque je fais 10 % 3 j ai bien comme resultat 1.
si je vais 123456789 % 97 j ai le bon ressultat.
Mais lorsque mon chiffre fait au moins 11 caractere le resultat n'est pas bon !
Savez vous pkoi ca ne marche pas avec des nombre a plus de 10 caractere alors que les autres oprerations marchent tres bien ?
Avez vous une solution ?
 
Merci de votre aide .

Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR