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 :

signification du signe "&" entre deux variables


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut signification du signe "&" entre deux variables
    Salut,
    Je me demande a quoi peu servire le signe & dans ce petit exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    res = 100;
    variable = 15;
    res = (variable & 0xffff);
    Merci pour votre aide chers developpeurs.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    C'est a dire l'equivalent de:

    en assembleur ?

  4. #4
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par qoqo1 Voir le message
    Je me demande a quoi peut servir le signe & dans ce petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    res = 100;
    variable = 15;
    res = (variable & 0xffff);
    Ce n'est pas un 'signe', mais un opérateur.

    http://emmanuel-delahaye.developpez.com/bits.htm

  5. #5
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    ça sert à quoi de faire res = 15 & 0xffff ?
    autant faire directement res = 15 non ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut L'operateur L"chaine de caract"
    Oui justement, en parlent d'operateurs je me suis rappele d'un operateur bizzare exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res = funct1(L"qqchose", param1, param2);
    A quoi peu servire reelement le L dans cette exemple

  7. #7
    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
    L n'est pas un opérateur. Il indique que la constante littérale (la chaine) qui suit n'est pas un tableau de char mais un tableau de wchar_t

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par diogene Voir le message
    L n'est pas un opérateur. Il indique que la constante littérale (la chaine) qui suit n'est pas un tableau de char mais un tableau de wchar_t
    Mais wchar_t n'est pas definie dans la bibliotheque standard du C.
    il est definie dans l'API Windows Win32API.
    Donc on ne peut pas faire L"qqchose" en dehors de l'API windows.

  9. #9
    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
    Mais wchar_t n'est pas definie dans la bibliotheque standard du C.
    Si. Norme C99 n1256
    6.4.5 String literals
    ...
    Description
    2 A character string literal is a sequence of zero or more multibyte characters enclosed in double-quotes, as in "xyz". A wide string literal is the same, except prefixed by the letter L.
    ...
    5 ... For character string literals, the array elements have type char, and are initialized with the individual bytes of the multibyte character sequence; for wide string literals, the array elements have type wchar_t...

  10. #10
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par diogene Voir le message
    Si. Norme C99 n1256
    Oui merci.

  11. #11
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par qoqo1 Voir le message
    Mais wchar_t n'est pas definie dans la bibliotheque standard du C.
    Si. depuis 1995. (C90/A1 dit 'C95')

    Nom officiel : ISO/IEC 9899:1990/Amendment 1:1995 (E).

  12. #12
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Si. depuis 1995. (C90/A1 dit 'C95')

    Nom officiel : ISO/IEC 9899:1990/Amendment 1:1995 (E).
    Depuis 89 au moins. (A1 ajoute un tas de choses dans le traitement, mais C90 a déjà les wchar_t et les littéraux de caractères et de chaînes commencant par L, quelques fonctions de conversions et une formulation indiquant que les char* sont des chaînes multibytes -- le strict minimum sans lequel le C ANSI n'aurait pas été identique au C ISO).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison entre deux variables
    Par BHMath76 dans le forum ASP
    Réponses: 5
    Dernier message: 10/10/2008, 11h44
  2. Réponses: 6
    Dernier message: 20/12/2007, 10h00
  3. Comparaison entre deux variables
    Par delavega dans le forum ASP
    Réponses: 8
    Dernier message: 23/11/2006, 16h42

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