ich habe mal eine frage an die experten, ich möchte eine Variable toggeln var = !var; // schaltet ja auch immer zwischen 0 und 1 um,meine Frage ist kann mir das !var erklären vielen dank
! negiert einen logischen Ausdruck. Also wird das rechts davon als logischer Ausdruck untersucht. Das bedeutet in C immer einen Test auf ungleich 0, var=!var heißt also in etwa:
1 | if ( var!=0 ) |
2 | var = 0; |
3 | else
|
4 | var = 1; |
! ist ein logisches NICHT beliebige Zahl ungleich 0 -> 0 0 -> 1 (als Stellvertreter für eine Zahl ungleich 0) Steht übrigens auch in jedem beliebigen C-Buch
diewodaso schrieb: > http://www.mikrocontroller.net/articles/Bitmanipulation > > mfg Nein, das ist hier keine Bitmanipulation!
Wenn dir das ! nicht geheuer ist (was es nicht sein sollte), dann kannst du das Toggeln auch ganz konventionell mittels var = 1 - var; erreichen. Wenn var gleich 1 ist, dann ergibt 1 - 1 eine glatte 0 Und wenn var dann 0 ist, dann berechnet sich 1 - 0 zu 1 So kann man dann zb auch zwischen 0 und 5 toggeln var = 5 - var;
könnte man, aber das wäre nicht unbedingt dasselbe. Nochmal: ! ist keine Bitmanipulation.
Wenn jetzt jemand fragt, was es mit ? auf sich hat, verweise ich auf mein erste Antwort und das Spiel geht von vorne los :-) (Womit wir beim Thema Rekursion angelangt wären.)
Klaus Wachtler schrieb: > Nein, das ist hier keine Bitmanipulation! Als wieder was gelernt Dankeschön!
diewodaso schrieb: > weihnachtstroll schrieb: >> Var oder nicht Var, das ist hier die Frage. > > Der is GUT :-) :-) was macht ein Computer, wenn er nicht einschlafen kann while( !sleeping ) sheep++; er zählt Schäfchen.
Karl Heinz Buchegger schrieb: > while( !sleeping ) > > sheep++; Da wird der Watchdog zum Schäferhund ;) avr
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.