Go Down

Topic: Boolean invertieren (Read 1 time) previous topic - next topic

hk007

Hi,

jetzt kommt wahrscheinlich die dumme Frage des Tages:
Gibt es einen Befehl um eine boolean zu invertieren? Also aus "true" "false" machen und umgekehrt?
Also mit ifs und so krieg ich das schon hin. Aber das sieht voll unelegant aus.
Habs schon mit "~" probiert, aber das klappt nicht. Wohl, weil eine Boolean bei C nicht nur ein Bit ist. (Hab ich hier mal gehört)

Irgendwie steh ich auf dem Schlauch und find da nichts besseres.

gruß/hk007
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

mkl0815

Code: [Select]

boolean state = false;
state= !state;

ESLEagleEye

Naja in C (nicht Cpp oder C#) ist der Boolean nichtmal "out of the box" enthalten. Ich weiß nicht genau was du vor hast, aber du könntest Beispielsweise mit einer enum arbeiten und dann "WAHR" den Wert 0 und "FALSCH" den Wert 1 zuweisen.

hk007

#3
Oct 19, 2012, 08:43 pm Last Edit: Oct 19, 2012, 08:45 pm by hk007 Reason: 1

Code: [Select]

boolean state = false;
state= !state;



Hi,
tja .... funzt. Danke. Doch so einfach :smiley-eek-blue:

Wobei ich mal zu meiner Ehrenrettung bemerken darf, daß ich mir die Referenz vor der Frage eigentlich genau durchgelesen habe. Da bin ich auch auf das "!" gestossen.
Aber dabei stand folgendes:
Quote
Boolean Operators
These can be used inside the condition of an if statement.
if (!x) {
 // ...
}

Heisst doch, daß man das nur in der Abfrage verwenden darf und nicht in einer Zuweisung.
Arduino 1.0.5 | Arduino UNO & MEGA | Arduino 1.54r2 mit DUE

BerndJM

Hi,
ich würde das eher so interpretieren:

... daß man das nur in der Abfrage verwenden kann darf und nicht in einer Zuweisung.

Grüßle Bernd
Theoretisch gibt es keinen Unterschied zwischen Theorie und Praxis ...

Go Up