Priorität der Booleschen Operatoren

8

Ich würde gerne wissen, ob der Vorrang von Operatoren in Programmiersprachen von der Implementierung abhängt oder ob es eine feste Regel gibt, der alle Sprachen folgen. Und wenn möglich, könnten Sie die folgenden Operatoren mit der höchsten Priorität zuerst bestellen: UND, ODER, NICHT, XOR.

    
Mika 19.09.2012, 12:19
quelle

3 Antworten

8

Ich habe gegoogelt und das gefunden, das besagt, dass einige Sprachen wie APL und SmallTalk keine Vorrangregeln für Operatoren haben und sie bewerten Ausdrücke streng von links nach rechts / von links nach rechts.

Die relative Rangfolge ist jedoch NICHT & gt; XOR & gt; UND & gt; ODER in den meisten Sprachen, insbesondere solchen, die von C

abgeleitet sind     
emiljho 19.09.2012, 12:35
quelle
2
___ antwort12536368 ___

Boolesch oder bitweise? Es gibt keine feste Regel, die meisten Sprachen haben ähnliche Regeln, unterscheiden sich aber in Details. Schlage es in der Sprachdefinition nach.

    
___ tag123boolean ___ Ein boolescher Datentyp ist ein Datentyp mit nur zwei möglichen Werten: true oder false. ___ tag123operatoryeyword ___ In mehreren Sprachen wird das Schlüsselwort operator verwendet, um Methoden zu identifizieren, die beim Überladen von Operatoren verwendet werden. ___ qstntxt ___

Ich würde gerne wissen, ob der Vorrang von Operatoren in Programmiersprachen von der Implementierung abhängt oder ob es eine feste Regel gibt, der alle Sprachen folgen. Und wenn möglich, könnten Sie die folgenden Operatoren mit der höchsten Priorität zuerst bestellen: UND, ODER, NICHT, XOR.

    
___ qstnhdr ___ Priorität der Booleschen Operatoren ___ tag123precedence ___ hilf uns dieses Wiki zu bearbeiten ___ answer36320208 ___

Es gibt drei grundlegende boolesche Operatoren: NOT, AND, OR. XOR ist nur eine einfache Version von %code% oder %code% . Also haben nur diese drei gemeinsame Priorität: NICHT & gt; UND & gt; ODER. XOR hat eine andere Position in Sprachen, aber es hat sicher keinen höheren Vorrang als AND und nicht niedriger als OR. Die meisten Sprachen (z. B. C / C ++ / Javascript usw.) haben es zwischen AND und OR, aber in anderen Sprachen (z. B. Perl) hat XOR die gleiche Priorität wie OR.

(ODER kann nur mit AND und NOT ausgedrückt werden, aber es ist immer noch ein Basisoperator: %code% )

    
___ answer12494812 ___

Ich habe gegoogelt und das gefunden, das besagt, dass einige Sprachen wie APL und SmallTalk keine Vorrangregeln für Operatoren haben und sie bewerten Ausdrücke streng von links nach rechts / von links nach rechts.

Die relative Rangfolge ist jedoch NICHT & gt; XOR & gt; UND & gt; ODER in den meisten Sprachen, insbesondere solchen, die von C

abgeleitet sind     
___
Stephan Eggermont 21.09.2012 18:42
quelle
0

Es gibt drei grundlegende boolesche Operatoren: NOT, AND, OR. XOR ist nur eine einfache Version von A AND NOT B OR NOT A AND B oder (A OR NOT B) AND (NOT A OR B) . Also haben nur diese drei gemeinsame Priorität: NICHT & gt; UND & gt; ODER. XOR hat eine andere Position in Sprachen, aber es hat sicher keinen höheren Vorrang als AND und nicht niedriger als OR. Die meisten Sprachen (z. B. C / C ++ / Javascript usw.) haben es zwischen AND und OR, aber in anderen Sprachen (z. B. Perl) hat XOR die gleiche Priorität wie OR.

(ODER kann nur mit AND und NOT ausgedrückt werden, aber es ist immer noch ein Basisoperator: A OR B = NOT(NOT A AND NOT B) )

    
FERcsI 30.03.2016 21:38
quelle