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

  FORUM HardWare.fr
  Programmation
  PHP

  problème avec un modulo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec un modulo

n°1572665
XprtZ
Profil : O.O
Posté le 09-06-2007 à 10:31:17  profilanswer
 

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
mood
Publicité
Posté le 09-06-2007 à 10:31:17  profilanswer
 

n°1572676
krifur
Posté le 09-06-2007 à 11:48:11  profilanswer
 

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

n°1572680
XprtZ
Profil : O.O
Posté le 09-06-2007 à 11:56:52  profilanswer
 

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
n°1572681
krifur
Posté le 09-06-2007 à 12:02:53  profilanswer
 

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

n°1572685
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 12:17:48  profilanswer
 

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
n°1572717
XprtZ
Profil : O.O
Posté le 09-06-2007 à 15:52:06  profilanswer
 

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
n°1572719
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 15:53:47  profilanswer
 

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
n°1572725
XprtZ
Profil : O.O
Posté le 09-06-2007 à 16:06:29  profilanswer
 

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
n°1572730
krifur
Posté le 09-06-2007 à 16:25:25  profilanswer
 

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:

n°1572731
XprtZ
Profil : O.O
Posté le 09-06-2007 à 16:34:58  profilanswer
 

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
mood
Publicité
Posté le 09-06-2007 à 16:34:58  profilanswer
 

n°1572732
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 16:37:10  profilanswer
 

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


---------------
Gamertag: CoteBlack YeLL
n°1572738
krifur
Posté le 09-06-2007 à 16:55:40  profilanswer
 

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

n°1572745
XprtZ
Profil : O.O
Posté le 09-06-2007 à 17:07:21  profilanswer
 

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
n°1572746
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 17:10:32  profilanswer
 

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
n°1572749
krifur
Posté le 09-06-2007 à 17:21:13  profilanswer
 

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

n°1572751
esox_ch
Posté le 09-06-2007 à 17:24:45  profilanswer
 

Openoffice répond exactement pareil

n°1572752
RiderCrazy
Posté le 09-06-2007 à 17:25:03  profilanswer
 

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]

n°1572754
XprtZ
Profil : O.O
Posté le 09-06-2007 à 17:26:44  profilanswer
 

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
n°1572756
RiderCrazy
Posté le 09-06-2007 à 17:30:02  profilanswer
 

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

n°1572757
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 17:30:25  profilanswer
 

esox_ch a écrit :

Openoffice répond exactement pareil


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


---------------
Gamertag: CoteBlack YeLL
n°1572760
RiderCrazy
Posté le 09-06-2007 à 17:32:26  profilanswer
 

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

n°1572761
XprtZ
Profil : O.O
Posté le 09-06-2007 à 17:32:33  profilanswer
 

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
n°1572762
krifur
Posté le 09-06-2007 à 17:32:54  profilanswer
 

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
n°1572763
RiderCrazy
Posté le 09-06-2007 à 17:34:28  profilanswer
 

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
n°1572764
esox_ch
Posté le 09-06-2007 à 17:35:35  profilanswer
 

GCalcTool me rend -9

n°1572765
XprtZ
Profil : O.O
Posté le 09-06-2007 à 17:37:20  profilanswer
 

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
n°1572766
krifur
Posté le 09-06-2007 à 17:39:23  profilanswer
 

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
n°1572767
RiderCrazy
Posté le 09-06-2007 à 17:40:06  profilanswer
 

krifur a écrit :

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


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

n°1572770
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 17:44:03  profilanswer
 

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
n°1572771
krifur
Posté le 09-06-2007 à 17:44:43  profilanswer
 

ok :o

n°1572772
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 17:46:58  profilanswer
 

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
n°1572773
XprtZ
Profil : O.O
Posté le 09-06-2007 à 17:48:55  profilanswer
 

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
n°1572774
RiderCrazy
Posté le 09-06-2007 à 17:50:54  profilanswer
 

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]

n°1572775
krifur
Posté le 09-06-2007 à 17:53:35  profilanswer
 

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

n°1572776
RiderCrazy
Posté le 09-06-2007 à 17:54:48  profilanswer
 

krifur a écrit :

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


De quoi ?

n°1572777
krifur
Posté le 09-06-2007 à 18:00:29  profilanswer
 

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

n°1572779
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-06-2007 à 18:09:20  profilanswer
 

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
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  problème avec un modulo

 

Sujets relatifs
probleme KaffeProblème de déplacement d'un fichier uploadé
probleme de contextmenu[Matlab] Petit problème pour petite routine
[résolu] Problème d'include chez Free mais pas en local[aide] probleme de boucle
probleme avec moduloProbleme de division et modulo
Probleme PHP modulo 
Plus de sujets relatifs à : problème avec un modulo


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