problème avec un modulo

problème avec un modulo - PHP - Programmation

Marsh Posté le 09-06-2007 à 10:31:17    

Bonjour,
 
J'ai un petit problème avec le modulo en php, en effet je ne comprend pas pourquoi quand je fait 61 % 26, cela me rend 9 alors que sous Excel la fonction MOD me renvoi 17, pourtant les 2 sont censés me renvoyer le reste de la division.  :??:  
 
Je cherche à faire un programme qui me renvoi vrai quand 2 opérations ont le même reste (congruence).
 
Merci.  :hello:


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 10:31:17   

Reply

Marsh Posté le 09-06-2007 à 11:48:11    

61-(2x26)=9 ca m'a l'air correct en php  :??:

Reply

Marsh Posté le 09-06-2007 à 11:56:52    

Oui c'est exact, le problème étant en fait que je cherche à avoir 17 en reste, chose qu'on me renvoi sur excel en faisant MOD(61:26) et j'aimerai savoir pourquoi :D


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 12:02:53    

mais par quel calcul (a la main), t arrives a 17 ?

Reply

Marsh Posté le 09-06-2007 à 12:17:48    

XprtZ a écrit :

Oui c'est exact, le problème étant en fait que je cherche à avoir 17 en reste, chose qu'on me renvoi sur excel en faisant MOD(61:26) et j'aimerai savoir pourquoi :D


 
Pourquoi ? :??:
 
61/26 = 2 reste 9, point barre ... [:spamafote]
 
Je ne vois absolument pas du tout d'où sort ton 17 là :??:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 15:52:06    

Dj YeLL a écrit :

Pourquoi ? :??:
 
61/26 = 2 reste 9, point barre ... [:spamafote]
 
Je ne vois absolument pas du tout d'où sort ton 17 là :??:


 
Ben c'est un peu compliqué à expliquer  :sweat: 61%26 donne effectivement 9 en reste mais sur excel le MOD(61;26) renvoi 17 et il me faudrait cette valeur pour que mon programme marche [:spamafote] si vous avez excel, faite un essai vous verrez que ça ne renvoi pas 9.  [:spamafote]


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 15:53:47    

Ben c'est qu'il y a une couille avec excel c'est tout.
 
"il me faudrait cette valeur pour que mon programme marche" => [:mlc]


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 16:06:29    

Dj YeLL a écrit :

Ben c'est qu'il y a une couille avec excel c'est tout.

 

"il me faudrait cette valeur pour que mon programme marche" => [:mlc]

 

C'est pour un programme de cryptage/décryptage, j'ai déjà fait la partie cryptage et là pour la partie décryptage, je dois comparer 2 reste de division, bizarre car j'arrive à décrypter toutes les lettres sauf 2 :o

 

Je vais voir si y a une autre méthode mais en tout cas c'est pas normal que ça renvoi 2 reste différent :o


Message édité par XprtZ le 09-06-2007 à 16:07:41

---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 16:25:25    

j'ai trouver un bon code php pour faire ca :
 
$result=(61%26)+15;
echo $result; // 17 incroyable, ca marche !
En gros si tu as vraiment besoin du chiffre 17 ben j sais pas moi cree une varialbe initialisée à 17  
 
je ne vois aucune formule mathématique permettant d'obtenir 17 avec les 2 nombres 61 et 26 , j'ai pas excel donc je sais pas d'ou ca vient , t es sur que c'est pas une fonction random par hasard tu lui donnes 2 nombres et il en genere un pour le fun  
 
 :hello:

Reply

Marsh Posté le 09-06-2007 à 16:34:58    

krifur a écrit :

j'ai trouver un bon code php pour faire ca :

 

$result=(61%26)+15;
echo $result; // 17 incroyable, ca marche !
En gros si tu as vraiment besoin du chiffre 17 ben j sais pas moi cree une varialbe initialisée à 17

 

je ne vois aucune formule mathématique permettant d'obtenir 17 avec les 2 nombres 61 et 26 , j'ai pas excel donc je sais pas d'ou ca vient , t es sur que c'est pas une fonction random par hasard tu lui donnes 2 nombres et il en genere un pour le fun

 

:hello:

 

:D 61 n'est pas statique sinon j'aurai pas crée un topic :p . Sinon par rapport à excel, sur et certain :o MOD(61;26) renvoi 17 et pas 9 :o

 

edit : et c'est bien une fonction qui renvoi le reste de la division :o


Message édité par XprtZ le 09-06-2007 à 16:35:35

---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 16:34:58   

Reply

Marsh Posté le 09-06-2007 à 16:37:10    

Ben ton Excel est pourri et il bug [:spamafote]


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 16:55:40    

envoit une batterie de test de calcul fait avec excel du style 61%26=17 qu'on est plusieurs exemples pour voir

Reply

Marsh Posté le 09-06-2007 à 17:07:21    

Bon je vais me pendre, en fait c'était pas 61 mais -61  [:tinostar] bon le problème reste inchangé pour moi car en php ça me renvoi -9
un screen de ce que me renvoi excel :
 
http://xprtz.hk2.free.fr/excel.JPG


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 17:10:32    

Trop fort excel, sur une division négative non seulement il renvoie pas la bonne valeur, mais en plus il renvoie pas un négatif ...


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 17:21:13    

boa il gere pas les nombres négatifs non?du coup il bugg sévére mais il sauve la face en balancant un bout de son numéro de serie (pfiouu pas passer loin la).
En tout cas , c beau :D.
trouve autre chose qu'excel va

Reply

Marsh Posté le 09-06-2007 à 17:24:45    

Openoffice répond exactement pareil

Reply

Marsh Posté le 09-06-2007 à 17:25:03    

Euh, pour le coup, c'est php qui déconne... Le reste dans la division euclidienne est un entier positif. Donc, c'est bien 17 qu'on devrait avoir et pas -9 [:spamafote]

Reply

Marsh Posté le 09-06-2007 à 17:26:44    

Je ne suis donc pas fou :o , du coup y a t-il une alternative au % en php ?

Message cité 1 fois
Message édité par XprtZ le 09-06-2007 à 17:26:52

---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 17:30:02    

XprtZ a écrit :

Je ne suis donc pas fou :o , du coup y a t-il une alternative au % en php ?


Mouais... y'a eu quelques posts avant que tu t'aperçois que c'était -61 et pas 61 :o

Reply

Marsh Posté le 09-06-2007 à 17:30:25    

esox_ch a écrit :

Openoffice répond exactement pareil


 
Pas chez moi [:spamafote] J'ai testé.


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 17:32:26    

J'ai bien 17 avec Excel, OOo et ma TI-89 :o

Reply

Marsh Posté le 09-06-2007 à 17:32:33    

RiderCrazy a écrit :

Mouais... y'a eu quelques posts avant que tu t'aperçois que c'était -61 et pas 61 :o


 
Je sais :o un énorme sorry  :sweat:


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 17:32:54    

mais c quoi le calcul qui permet d'avoir 17 en résultat avec comme opérandes 61 et 26 (ou -61) ??

Message cité 1 fois
Message édité par krifur le 09-06-2007 à 17:33:12
Reply

Marsh Posté le 09-06-2007 à 17:34:28    

krifur a écrit :

mais c quoi le calcul qui permet d'avoir 17 en résultat avec comme opérandes 61 et 26 (ou -61) ??


(-61)%26 = 17 [:spamafote]

 

XprtZ > d'ailleurs, t'as mis des parenthèses sous php ?

Message cité 1 fois
Message édité par RiderCrazy le 09-06-2007 à 17:34:46
Reply

Marsh Posté le 09-06-2007 à 17:35:35    

GCalcTool me rend -9

Reply

Marsh Posté le 09-06-2007 à 17:37:20    

RiderCrazy a écrit :

(-61)%26 = 17 [:spamafote]
 
XprtZ > d'ailleurs, t'as mis des parenthèses sous php ?


 
oui testé mais ça ne change rien :sweat: je vais voir si y a quelque chose dessus du côté de la doc php.


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 17:39:23    

ah oui avec -61 ca donne bien 17 mais je capte pas ce résultat :/
edit: tester avec kcalc

Message cité 1 fois
Message édité par krifur le 09-06-2007 à 17:39:51
Reply

Marsh Posté le 09-06-2007 à 17:40:06    

krifur a écrit :

ah oui avec -61 ca donne bien 17 mais je capte pas ce résultat :/


-61 = 26 * (-3) + 17 [:spamafote]

Reply

Marsh Posté le 09-06-2007 à 17:44:03    

Code :
  1. function modulo($a, $b) {
  2.    if($a < 0) {
  3.        return $b - (abs($a) % $b);
  4.    } else {
  5.        return $a % $b;
  6.    }
  7. }


Message édité par Dj YeLL le 09-06-2007 à 17:44:10

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 17:44:43    

ok :o

Reply

Marsh Posté le 09-06-2007 à 17:46:58    

Mieux en fait :
 

Code :
  1. function modulo($a, $b) {
  2.    return $a - $b * floor($a/$b);
  3. }

Message cité 2 fois
Message édité par Dj YeLL le 09-06-2007 à 17:47:08

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-06-2007 à 17:48:55    

Dj YeLL a écrit :

Mieux en fait :
 

Code :
  1. function modulo($a, $b) {
  2.    return $a - $b * floor($a/$b);
  3. }



 
 :love:  :love:  :love:  un énorme merci :jap:


---------------
PSN : XprtZ - BattleTag : XprtZ#2257 - 3DS : 2492-4109-3060
Reply

Marsh Posté le 09-06-2007 à 17:50:54    

Dj YeLL a écrit :

Mieux en fait :
 

Code :
  1. function modulo($a, $b) {
  2.    return $a - $b * floor($a/$b);
  3. }



Ouais, celui-ci était moins bien visible dans les commentaires de la doc :o
 
[:cupra]

Reply

Marsh Posté le 09-06-2007 à 17:53:35    

faut dire qu'il doit pas servir trés souvent :o

Reply

Marsh Posté le 09-06-2007 à 17:54:48    

krifur a écrit :

faut dire qu'il doit pas servir trés souvent :o


De quoi ?

Reply

Marsh Posté le 09-06-2007 à 18:00:29    

nan dans ce cas précis un modulo sur un nombre négatif c pas courant enfin j'avais jamais vu ca :o

Reply

Marsh Posté le 09-06-2007 à 18:09:20    

RiderCrazy a écrit :

Ouais, celui-ci était moins bien visible dans les commentaires de la doc :o
 
[:cupra]


 
Clairement, les gars sont pas foutu d'utiliser la coloration [:spamafote]


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed