J'essaye de faire un "ET Logique" entre deux nombres ...
la seule piste serait de les convertir d'abord en binaire, avec la commande
DECBIN
Mais il semblerait que l'opération logique se fasse bit à bit mais en
partant de la gauche ....
Exemple :
$a="10100101";
$b="1111";
echo $a&$b;
devrait donner : "0101" or je trouve "1010"
Quelqu'un aurait il une explication ou une autre méthode ?
Merci d'avance.
Aussi, laisse une espace entre le '&' et le '$', pour être sûr que PHP ne confond pas avec les références '&$'.
.:' Francisek ':.
"Ramunt" a écrit
J'essaye de faire un "ET Logique" entre deux nombres ... la seule piste serait de les convertir d'abord en binaire, avec la commande
DECBIN Mais il semblerait que l'opération logique se fasse bit à bit mais en partant de la gauche ....
Exemple :
$a="10100101"; $b="1111"; echo $a&$b;
devrait donner : "0101" or je trouve "1010"
Quelqu'un aurait il une explication ou une autre méthode ? Merci d'avance.
Ca m'a tout l'air d'être un & binaire entre deux chaines de caractères. Il faut utiliser des nombres (en base décimale, octale ou hexa) : $a = 0xA5; // 0xA5 = 10100101b $b = 0x0F; // 0x0F echo decbin($a & $b); // affiche le résultat en binaire
"Ramunt" <ramunt@free.fr> a écrit
J'essaye de faire un "ET Logique" entre deux nombres ...
la seule piste serait de les convertir d'abord en binaire, avec la
commande
DECBIN
Mais il semblerait que l'opération logique se fasse bit à bit mais en
partant de la gauche ....
Exemple :
$a="10100101";
$b="1111";
echo $a&$b;
devrait donner : "0101" or je trouve "1010"
Quelqu'un aurait il une explication ou une autre méthode ?
Merci d'avance.
Ca m'a tout l'air d'être un & binaire entre deux chaines de caractères.
Il faut utiliser des nombres (en base décimale, octale ou hexa) :
$a = 0xA5; // 0xA5 = 10100101b
$b = 0x0F; // 0x0F
echo decbin($a & $b); // affiche le résultat en binaire
J'essaye de faire un "ET Logique" entre deux nombres ... la seule piste serait de les convertir d'abord en binaire, avec la commande
DECBIN Mais il semblerait que l'opération logique se fasse bit à bit mais en partant de la gauche ....
Exemple :
$a="10100101"; $b="1111"; echo $a&$b;
devrait donner : "0101" or je trouve "1010"
Quelqu'un aurait il une explication ou une autre méthode ? Merci d'avance.
Ca m'a tout l'air d'être un & binaire entre deux chaines de caractères. Il faut utiliser des nombres (en base décimale, octale ou hexa) : $a = 0xA5; // 0xA5 = 10100101b $b = 0x0F; // 0x0F echo decbin($a & $b); // affiche le résultat en binaire
Le Tue, 17 Feb 2004 21:15:26 +0000, Ramunt a écrit :
J'essaye de faire un "ET Logique" entre deux nombres ... la seule piste serait de les convertir d'abord en binaire, avec la commande DECBIN Mais il semblerait que l'opération logique se fasse bit à bit mais en partant de la gauche ....
Quelqu'un aurait il une explication ou une autre méthode ? Merci d'avance.
Ba c'est simple, déjà tu fais un "&" sur une chaîne de caractères et non un nombre (qui de plus est un binaire).
Voilà un petit exemple :
<?php $a = "10100101"; $b = "1111";
$a = intval($a, 2); $b = intval($b, 2);
printf("%b & %b = %bn", $a, $b, $a & $b); ?>
[ tmp]$ php4 -q script.php 10100101 & 1111 = 101
Tu peux trouver davantage d'info sur mon p'tit site www.progweb.com
-- Nicklas ProgWeb - Développer son site Internet http://www.progweb.com
Le Tue, 17 Feb 2004 21:15:26 +0000, Ramunt a écrit :
J'essaye de faire un "ET Logique" entre deux nombres ...
la seule piste serait de les convertir d'abord en binaire, avec la commande
DECBIN
Mais il semblerait que l'opération logique se fasse bit à bit mais en
partant de la gauche ....
Quelqu'un aurait il une explication ou une autre méthode ?
Merci d'avance.
Ba c'est simple, déjà tu fais un "&" sur une chaîne de
caractères et non un nombre (qui de plus est un binaire).
Le Tue, 17 Feb 2004 21:15:26 +0000, Ramunt a écrit :
J'essaye de faire un "ET Logique" entre deux nombres ... la seule piste serait de les convertir d'abord en binaire, avec la commande DECBIN Mais il semblerait que l'opération logique se fasse bit à bit mais en partant de la gauche ....
Quelqu'un aurait il une explication ou une autre méthode ? Merci d'avance.
Ba c'est simple, déjà tu fais un "&" sur une chaîne de caractères et non un nombre (qui de plus est un binaire).
Voilà un petit exemple :
<?php $a = "10100101"; $b = "1111";
$a = intval($a, 2); $b = intval($b, 2);
printf("%b & %b = %bn", $a, $b, $a & $b); ?>
[ tmp]$ php4 -q script.php 10100101 & 1111 = 101
Tu peux trouver davantage d'info sur mon p'tit site www.progweb.com
-- Nicklas ProgWeb - Développer son site Internet http://www.progweb.com