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 :

~var; ligne de code incomprise


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Par défaut ~var; ligne de code incomprise
    Salut à tous :
    Voilà je voudrais savoir la signification de la notation en rouge en c++

    [CODE]
    int var;
    var=~var+1;
    [CODE/]

    Est ce que c'est possible que ce soit une sorte de destructeur!!!!

    Merci beaucoup pour vos réponses et bonne journée!!!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    c'est l'opérateur binaire NOT. il prend donc ta variable var et la "retourne" : chaque bit à 1 passe à 0 et vice versa...
    ensuite, à la nouvelle valeur est ajoutée 1, et tout ca est re affecté dans la variable.

  3. #3
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Comme tous les operateurs de manipulation de bits, il vaut mieux les utiliser uniquement sur des entiers non signes.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Sauf qu'en l'occurence, cette opération est supposée changer le signe du nombre, sur une architecture qui stocke les entiers en complément à 2.
    Cela pourrait être équivalent à var = -var;
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Par défaut
    Merci bp toxcct
    très bonne journé!!!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sanatou
    Merci bp toxcct
    très bonne journé!!!
    de rien, mais pour etre complet, comme l'a précisé médinoc, cette opération est appelé "complément à 2".

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

Discussions similaires

  1. Lignes de code incomprises
    Par miss_angel dans le forum Débuter
    Réponses: 4
    Dernier message: 24/08/2012, 16h47
  2. Réponses: 11
    Dernier message: 16/11/2006, 22h10
  3. Réponses: 3
    Dernier message: 08/11/2006, 09h54
  4. lignes de code incomprises
    Par sanatou dans le forum C++
    Réponses: 2
    Dernier message: 25/10/2006, 21h28
  5. Calculeur de ligne de code
    Par Bernybon dans le forum Autres éditeurs
    Réponses: 9
    Dernier message: 05/03/2004, 16h29

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