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

  FORUM HardWare.fr
  Programmation

  [PHP]fonction XOR

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]fonction XOR

n°53555
En_Sabah_N​ur
お前はもう死んでいる
Posté le 19-08-2001 à 04:24:20  profilanswer
 

ca marche comment???
parce ke en faisant a xor b il me sort tout le temps a...
il a fumé apache????


---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
mood
Publicité
Posté le 19-08-2001 à 04:24:20  profilanswer
 

n°53577
DevKiller
Posté le 19-08-2001 à 12:55:18  profilanswer
 

bin ca dépend évidemment de ta valeur b, (a xor 0) = a !
es-tu sûr de sa valeur au moment du ^ ?
 
:)


---------------
"L'imagination est plus importante que la connaissance" - A. E.
n°53587
En_Sabah_N​ur
お前はもう死んでいる
Posté le 19-08-2001 à 13:47:04  profilanswer
 

j ai essayé tout connement de vérifier la table de vérité du xor ben ca marche pô :(  
me fôdré çà
00-->0
01-->1
10-->1
11-->0
 
il me donne çà  :ouch:  
00-->0
01-->0
10-->1
11-->1
 
comment je fais mouah...je me tape la fonction xor à la main???


---------------
XBL : ESN3S | GGPO (3rd strike) : ESN | PSN : Huitxilopochti
n°53603
DevKiller
Posté le 19-08-2001 à 15:06:22  profilanswer
 

étonnant !
 
ta table correspond à :
     x & (!y | y)
  => x
 
alors que le XOR : (x & !y) | (!x & y)
 
t sûr de ta vérif, il ne s'agirait pô d'un pb de priorité, de parenthèse ?
 
:)


---------------
"L'imagination est plus importante que la connaissance" - A. E.
n°53621
NicolasP
Posté le 19-08-2001 à 17:03:30  profilanswer
 

Si mes souvenirs sont bons ...  
 
a xor b; php renvoie false si a = b et true si a ou b enfin je crois...
En francais a ou b mais pas a et b !

n°53623
DevKiller
Posté le 19-08-2001 à 17:05:43  profilanswer
 

le xor c un OU exclusif !
donc ni ou ni et mais un mélange des 2 !


---------------
"L'imagination est plus importante que la connaissance" - A. E.
n°53716
En_Sabah_N​ur
お前はもう死んでいる
Posté le 20-08-2001 à 10:15:50  profilanswer
 

y a pas de problême de priorité puiske j ai fais les tests sur deux valeurs toutes simples...0 et 1...
 
et il fait n importe koi...enfin non, mais pas ce k il devré faire...
 
donc je suis obligé de créer une fonction xor... :(

n°53717
En_Sabah_N​ur
お前はもう死んでいる
Posté le 20-08-2001 à 10:17:45  profilanswer
 

NicolasP a écrit a écrit :

Si mes souvenirs sont bons ...  
 
a xor b; php renvoie false si a = b et true si a ou b enfin je crois...
En francais a ou b mais pas a et b !  




ca voudré dire k il trvaille k en logike pure...
donc il ne calcule pas par exemple la valeur de (1011)xor(1000)  :??:  
même la calculatrice de zindôws sait le faire :pt1cable:

n°53719
nur
Posté le 20-08-2001 à 10:19:51  profilanswer
 

En_Sabah_Nur a écrit a écrit :

y a pas de problême de priorité puiske j ai fais les tests sur deux valeurs toutes simples...0 et 1...
 
et il fait n importe koi...enfin non, mais pas ce k il devré faire...
 
donc je suis obligé de créer une fonction xor... :(  




 
 
C'est donc toi qui a pris le pseudo que je convoitais!

n°53724
youdontcar​e
Posté le 20-08-2001 à 10:38:47  profilanswer
 

En_Sabah_Nur a écrit a écrit :

y a pas de problême de priorité puiske j ai fais les tests sur deux valeurs toutes simples...0 et 1...
 
et il fait n importe koi...enfin non, mais pas ce k il devré faire...
 
donc je suis obligé de créer une fonction xor... :(


montre ton code (au point virgule près). c'est vraiment suspect ...

mood
Publicité
Posté le 20-08-2001 à 10:38:47  profilanswer
 

n°53726
youdontcar​e
Posté le 20-08-2001 à 10:42:02  profilanswer
 

tiens histoire de te rassurer, le bout de source 'incriminé' :  
 
ZEND_API int bitwise_xor_function(zval *result, zval *op1, zval *op2)
{
 zval op1_copy, op2_copy;
 
 if (op1->type == IS_STRING && op2->type == IS_STRING) {
  zval *longer, *shorter;
  char *result_str;
  int i, result_len;
 
  if (op1->value.str.len >= op2->value.str.len) {
   longer = op1;
   shorter = op2;
  } else {
   longer = op2;
   shorter = op1;
  }
 
  result->type = IS_STRING;
  result_len = shorter->value.str.len;
  result_str = estrndup(shorter->value.str.val, shorter->value.str.len);
  for (i = 0; i < shorter->value.str.len; i++) {
   result_str[i] ^= longer->value.str.val[i];
  }
  if (result==op1) {
   efree(result->value.str.val);
  }
  result->value.str.val = result_str;
  result->value.str.len = result_len;
  return SUCCESS;
 }
 
 zendi_convert_to_long(op1, op1_copy, result);
 zendi_convert_to_long(op2, op2_copy, result);  
 
 result->type = IS_LONG;
result->value.lval = op1->value.lval ^ op2->value.lval; return SUCCESS;
}
 
comme tu peux le voir, tout va bien. cherche une vraie solution au problème plutôt que de te faire une fonction custom (!).

n°53735
En_Sabah_N​ur
お前はもう死んでいる
Posté le 20-08-2001 à 11:15:54  profilanswer
 

nur a écrit a écrit :

 
 
 
C'est donc toi qui a pris le pseudo que je convoitais!  




ahah j en été sur en plus...j té vu sur blabla ce matin!
ben désolé ;)  
fan des x-men donc?

n°53736
En_Sabah_N​ur
お前はもう死んでいる
Posté le 20-08-2001 à 11:23:07  profilanswer
 

youdontcare a écrit a écrit :

 montre ton code (au point virgule près). c'est vraiment suspect ...  




j ai pas le code sous la main...mais c vraiment tout con :crazy:  
ca doit être un truc du genre
$r=0 xor 1;
 
et ca sur l ensemble de la table de vérité du xor...
donc je vois pas trop d erreur possible...

n°53738
youdontcar​e
Posté le 20-08-2001 à 11:27:30  profilanswer
 

essaye plutôt $r = 0 ^ 1;

n°53739
Sh@rdar
Ex-PhPéteur
Posté le 20-08-2001 à 11:33:10  profilanswer
 

en tout cas j'ai testé et il m'a sorti les bonnes valeurs...
 
$a = 1;
$b = 0;
 
$c = $a ^ $b;
$d = $a Xor $b;
 
echo "$c-$d";


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°53740
youdontcar​e
Posté le 20-08-2001 à 11:40:32  profilanswer
 

sh@rdar > teste avec toutes les combinaisons : 0 xor 0, 0 xor 1, 1 xor 0, 1 xor 1 ... qui devrait donc sortir 0 1 1 0.
 
avec ^, j'obtiens les bonnes valeurs
avec xor ou Xor, j'obtiens à chaque fois 0 0 1 1. ce qui est franchement ETRANGE et conforme à ton résultat, d'ailleurs.
 
je ne connaissais pas le xor sous forme 'xor', j'ai cherché dans les sources sans rien trouver ... :??:

n°53741
Sh@rdar
Ex-PhPéteur
Posté le 20-08-2001 à 11:43:27  profilanswer
 

j'ai testé toutes les valeurs et elles sont identiques (et correctes) pour le ^ comme pour le XOR....
 
php 3.0.14.. vais tester sous php4 y a peut être un bug.....


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°53743
youdontcar​e
Posté le 20-08-2001 à 11:47:53  profilanswer
 

et beh PUTAING !  
 
php 3.0.16
php 4.0.4pl1
php 4.0.5rc1
 
les trois buggent.

n°53746
youdontcar​e
Posté le 20-08-2001 à 11:58:42  profilanswer
 
n°53752
En_Sabah_N​ur
お前はもう死んでいる
Posté le 20-08-2001 à 12:01:34  profilanswer
 

youdontcare a écrit a écrit :

oki, fausse alerte :D
 
^ est bitwise http://www.php.net/manual/en/langu [...] itwise.php
 
xor est logique http://www.php.net/manual/en/langu [...] ogical.php  




YAISSSSSSS
CQFD!!
donc fô utiliser le ^
merci à tous! :hello:

n°53753
youdontcar​e
Posté le 20-08-2001 à 12:01:42  profilanswer
 

dernière note, les opérateurs logiques ont une priorité inférieure aux opérateurs bitwise.
 
donc  
 $r = $a xor $b  
ne marchera pas. il faut utiliser
 $r = ($a xor $b)

n°53767
Sh@rdar
Ex-PhPéteur
Posté le 20-08-2001 à 12:16:49  profilanswer
 

arf..........


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
mood
Publicité
Posté le   profilanswer
 


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

  [PHP]fonction XOR

 

Sujets relatifs
[PHP] Variables HTTP_*_VARSASP ou PHP uh??
[PHP] J'y arrive po avec les appels de fct :(([PHP] comment effectuer des requètes entre tables de BD différentes ?
[PHP] et JavaScript[SQL Server 6.5] Fonction SQL pour modulo ?
[PHP] Mettre de côté le fichier le + récent[php] fonction mail sous windows et cjamps Bcc, Cc et Cci
[PHP] Conversion EuroMon site en PHP
Plus de sujets relatifs à : [PHP]fonction XOR


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