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.
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.
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 sindBoolesch oder bitweise? Es gibt keine feste Regel, die meisten Sprachen haben ähnliche Regeln, unterscheiden sich aber in Details. Schlage es in der Sprachdefinition nach.
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.
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% )
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 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)
)
Tags und Links boolean operator-keyword precedence