Irgendwie vermisse ich den Operator ^^ (log. EXOR) in C. Wieso ist dieser nicht spezifiziert wie bei | und || oder & und && ? Wäre doch 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
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
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.
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.
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
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.