IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

compréhention d'une partie d'un code


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut compréhention d'une partie d'un code
    Bonjour, voici un code disant si un nombre est premier

    function nonpremier($n)
    {
    if ($n == 2) return false;
    elseif (!($n & 1)) return 2;
    else {
    //floor retourne l'entier inférieur du nombre value
    //sqrt retourne la racine carrée
    $max = floor(sqrt($n));
    if (!($max&1)) $max--;
    return second($n, $max);
    }
    }
    je ne comprends pas la notation suivante :
    elseif (!($n & 1)) return 2;
    Quelqu'un peut-il m'éclairer?[/b]

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    si $n n'est pas à null ou faux alors retourne 2 ?

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    & => ET booléen
    http://php.net/language.operators.bitwise.php

    Donc si je fait "8 & 1", ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      1000
    & 0001
    ------
      0000
    Et si je fais "7 & 1", ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      0111
    & 0001
    ------
      0001
    C'est une technique rapide pour savoir si un entier est pair ou impair

    Donc
    signifie "Si $n n'est pas impair" où "si $n est pair"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut
    donc si je comprends bien

    elseif (!($n & 1)) return 2;
    Signifi : si $n est pair je retourne 2 ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Je me disais aussi que c'était trop simple

Discussions similaires

  1. sourcer juste une partie d'un code
    Par khubal dans le forum R
    Réponses: 5
    Dernier message: 07/01/2012, 08h49
  2. Je ne comprends pas une partie de mon code
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 21/12/2008, 19h42
  3. Réponses: 1
    Dernier message: 31/03/2008, 08h48
  4. Une partie de mon code s'affiche
    Par elmago dans le forum Langage
    Réponses: 2
    Dernier message: 01/05/2007, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo