Gast
#1128864
Irgendwie vermisse ich den Operator ^^ (log. EXOR) in C. Wieso ist dieser nicht spezifiziert wie bei | und || oder & und && ? Wäre doch praktisch?
|
Anzeige
|
Fehlender Operator ^^ in C
Gast
#1128864
Irgendwie vermisse ich den Operator ^^ (log. EXOR) in C. Wieso ist dieser nicht spezifiziert wie bei | und || oder & und && ? Wäre doch praktisch? Wofür praktisch? Stephan wrote: > Irgendwie vermisse ich den Operator ^^ (log. EXOR) in C. Wieso ist > dieser nicht spezifiziert wie bei | und || oder & und && ? Wäre doch > praktisch? Den gibt es schon, nur schreibt er sich "!=" :) Dummerweise ist != nur auf echten bool-Variablen identisch mit ^^, und daher nur in neueren C-Stds oder C++ als sicherer Ersatz anwendbar... Stephan wrote: > Irgendwie vermisse ich den Operator ^^ (log. EXOR) in C. Wieso ist > dieser nicht spezifiziert wie bei | und || oder & und && ? Wäre doch > praktisch? Dafür kann man schreiben: !X ^ !Y Der Grund, warum es dafür keinen extra Operator gibt, liegt darin, daß immer beide Ausdrücke ausgeführt werden müssen. Bei || bzw. && kann ja der 2. Ausdruck übersprungen werden. Peter
Gast
#1128900
Hallo Stephan, Ernst hat es ja bereits angedeutet: Man muss zwischen logischer Verknüpfung und Bit-Manipulation unterscheiden. Für Bit-Manipulation steht Dir "^" zur Verfügung. Aber was bedeutet die Antivalenz für boolsche (Logik) Werte? Antwort: ungleich, also "!=". (mehr braucht man nicht) Und das sollte auch mit "uraltem" C so sein (und ist auch so). tschü Dude
Gast
#1128922
Hallo Peter,
>Bei || bzw. && kann ja der 2. Ausdruck übersprungen werden.
Wenn bei "||" der erste Ausdruck (Operand) "FALSE" ist kann der zweite
übersprungen werden?
Hmmmmh ... , das erkläre doch bitte einmal detaillierter ;)
tschü Dude
Von "false" stand in seinem Post nichts. Er kann übersprungen werden, wenn der erste Operand true ist.
Gast
#1128935
Hallo Stefan, schon recht, aber der Unterschied liegt einzig in bitweiser und logischer Verknüpfung. Das gewünschte "^^" und das reale "!=" sind gleichwertig; und das dürfte der Grund sein. tschü Dude 12er Dude wrote: > Das gewünschte "^^" und das reale "!=" sind > gleichwertig; Nein, sind sie nicht. 1 ^^ 2 -> false 1 != 2 -> true Deshalb die Ergänzung von Ernst Bachmann bezüglich der "echten" bool-Variablen.
Gast
#1128944
Hallo Stefan E., ups, jau, haste natürlich recht! Die Operatoren "==" und "!=" werten bitweise aus (sonst wäre der Zahlenvergleich ja nicht möglich). Ist wohl schon zu spät oder früh heute. tschü Dude Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|