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

C++ Discussion :

Explication sur une instruction...


Sujet :

C++

  1. #1
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut Explication sur une instruction...
    Bonjour,
    Je debute en c++ et j'aimerai avoir une explication sur une ligne de code qui est la suivante :
    #define fontI (1 << 6)

    Alors define permet de définir une constante pour le préprocesseur mais que signifie : (1 << 6) ?

    Merci.
    Snoop

  2. #2
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Points : 74
    Points
    74
    Par défaut
    << est l'opérateur de shift binaire en C (et C++). Cette page donne une petite explication : http://www.space.unibe.ch/comp_doc/c...ift.html#shift

    Si je compte bien, dans ton cas :
    1 = 00000001
    1<<6 = 01000000 , ce qui donne 64

  3. #3
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    Merci...
    Snoop

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Pense à marquer ton sujet résolu si c'est le cas.

  5. #5
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    A ne pas confondre avec les opérateurs de gestion de flux.

    Alors define permet de définir une constante pour le préprocesseur
    On peut aussi faire des macros, les constantes étant des macros d'arité 0, pas d'argument.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  6. #6
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    snoop
    Alors define permet de définir une constante pour le préprocesseur mais que signifie : (1 << 6) ?
    #define est souvent utilisé pour donner un nom symbolique à des constantes, mais le mécanisme sous jacent pour le faire est simplement un remplacement de texte
    A chaque fois que dans le code source on trouve la chaîne fontI, elle est remplacée par la chaîne (1 << 6).
    L'utilisation de #define est très commode mais peut induire des erreurs difficiles à situer. Son utilisation demande certaines précautions (comme ici la mise entre parenthèses de 1 << 6)
    Les remarques de seriousme sont tout à fait pertinentes
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. [Débutant] Un noob a besoin d'une explication sur une instruction curieuse
    Par Laskar dans le forum C#
    Réponses: 4
    Dernier message: 09/04/2014, 09h26
  2. Explication d'une instruction de test
    Par ToTo13 dans le forum C
    Réponses: 8
    Dernier message: 07/02/2007, 17h02
  3. [MySQL] Erreur sur une instruction UPDATE
    Par Sir Tengu dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/12/2006, 13h59
  4. explication sur une ligne
    Par Pitou5464 dans le forum C
    Réponses: 12
    Dernier message: 31/10/2006, 17h12
  5. [JFrame] Explication sur une différence de comportement
    Par jems dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/07/2005, 09h23

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