begin process at 2012 05 30 21:55:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Je ne comprend pas ce code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Je ne comprend pas ce code

vendredi 19 décembre 2008 à 15:34:12 | Je ne comprend pas ce code

Noreaga10000

Bonjour,

C'est sûrement tout simple, mais je ne comprend pas le code suivant:

if(($rbits & (1<<$i))!=0)     //<---- ça veut dire quoi?
{
 $qrs=1;
}

Merci
vendredi 19 décembre 2008 à 16:22:45 | Re : Je ne comprend pas ce code

putch

Réponse acceptée !
salut

c'est sans doute le << qui t'embête ?

c'est du décalage de bits...

cf : [ Lien ]

++
vendredi 19 décembre 2008 à 16:37:37 | Re : Je ne comprend pas ce code

Noreaga10000

C'est ce qui m'embête, tout à fait.
Si $rbits = 4 par exemple, comment comprendre ce code?
vendredi 19 décembre 2008 à 17:04:07 | Re : Je ne comprend pas ce code

malalam

Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

il y a deux choses dans ce code auxquelles bcp de codeurs PHP ne sont pas habitués.
<< et &
<< est un décalage de bit vers la gauche. Chaque décalage revient à multiplier par 2 l'argument de gauche.
& est l'opérateur bit à bit AND  : tous les bits à 1 à gauche et à droite de l'opérateur sont à 1.

Si $rbits = 4, alors ton if() sera vrai quand $i = 2.
4 = 100 (en binaire)
et
1 << 0 =     0
1 << 1 =   10
1<< 2 =  100
et 100 & 100 = 100, et 100 (= 4) est bien != 0.

Note que si 1<<$i pouvait être égal à 5 par exemple (mais c'est impossible puisque 5 n'est pas un multiple de 2, sauf si $i n'est pas un entier mais un float : 2.5 par exemple), alors ton if() serait encore vrai :
1<<2.5 = 110
4 = 100 toujours
et 100 & 110 = 100, ce qui est encore une fois différent de 0.


vendredi 19 décembre 2008 à 17:08:59 | Re : Je ne comprend pas ce code

Noreaga10000

Merci les gars, j'ai compris.
vendredi 19 décembre 2008 à 17:17:01 | Re : Je ne comprend pas ce code

malalam

Administrateur CodeS-SourceS
Ah, j'ai laissé passé une petite bourde :
1 << 0 = 1, pas 0...
vendredi 19 décembre 2008 à 17:18:23 | Re : Je ne comprend pas ce code

malalam

Administrateur CodeS-SourceS
Et 5 = 101...bordel, pas 110 :-) Décidément...mais ça ne change rien au résultat par contre.
101 & 100 = 100 tjrs.



Cette discussion est classée dans : code, comprend


Répondre à ce message

Sujets en rapport avec ce message

Un p'tit code simple mais je sais pas comment le faire ! [ par N e x u m ] Salut,je voudrais avoir un simple code SANS MYSQL (Si possible) Qui garde le même design dans chaque pageAdmettons on a un design (Un look, un interfa code simple pour formulaire [ par bernard ] bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit code source keylogger [ par cmasters ] Bonjour tt le mondeEst il possible de creer un keylogger en php ?Si oui serait il possible d'avoir un exemple complet d'1 code sourc? Pour que je puis récupération de code d'une page [ par booth ] bonjour,voilàa je voudrait pouvoir récupérer le code d'une page qui est affichée à l'écran Et là franchement j'ai pô d'idée pour le faire, je ne sais générer des miniatures avec gd 1.6 [ par vegetaline ] muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave compteur de visites [ par choup ] voilà j'ai repéré sur ce site des compteurs de visite et je cherche celui qui serait le plus simple à mettre en place mais efficace quand même.S'il es pB avec Netscape [ par manueg ] Bonjour à tous, je ne comprends pas pourquoi ce code fonctionne sans pb sous IE alors qu'avec Netscape il ne trouve pas la page que je veux afficher e Peu commun select + transmission de variables [ par bladbud ] Bonjour,Voilà je vous mets de screen si jamais je n'explique mal ici ma premiere page :les boutons "+ " servent aux zones de liste et derrière chaque Syntaxe entre accolade [ par apz ] Salut,Souvent dans des sources php, on trouve la syntaxe suivante :{$rows['champ']} entre accolade {} quand on veut recupérer une valeur d'


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales