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!!!!![]()
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!!!!![]()
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.
Comme tous les operateurs de manipulation de bits, il vaut mieux les utiliser uniquement sur des entiers non signes.
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.
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".Envoyé par sanatou
Partager