Fehlender Operator ^^ in C

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
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
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
Gast
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
Gast
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 schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.