Operatoren & Logik
Vollständige Rangfolge, Arithmetik, Vergleiche, boolesche Logik (echte Kurzschlussregeln) und exakte Bit-Regeln.
Jeder Ausdruck in Numlex wird von einer einzigen strengen Operatorgrammatik ausgewertet: eine
Rangfolgeleiter für Arithmetik und Logik, echte boolesche Werte (nie eine Umwandlung zu
1/0) und separate exakte Regeln für Bit-Arbeit.
Diese Seite ist die vollständige Operatorreferenz: Rangfolge von if/then/else bis zu den
Nachstellungsoperatoren, die Bedeutung jedes Operators, genau wo die Sprache kurzschließt
(&& bei falscher linker Seite — und nirgends sonst), sowie die Rangfolgetabelle für
exakte Ganzzahlen, geprüfte Verschiebungen und Überlaufverhalten.
Rangfolge
Von niedrig nach hoch:
if … then … else … (right-associative)
or / ||
and / &&
not / !
== !=
< <= > >=
+ − (left)
* × / ÷ (left; `of` after a percent or multiplier is this level)
^ (power, right)
unary + / −
primary (literals, parentheses, calls, % and x postfixes)
Operatoren
| Operator | Bedeutung | Hinweise |
|---|---|---|
+ − | Addition / Subtraktion | in additivem Kontext ist ein rechts stehendes „reines” Prozent ein Anteil der aufgelaufenen linken Seite: 100 + 10% = 110 |
* × / ÷ | Multiplikation / Division | 200 × 10% = 20, 200 / 10% = 2000 |
^ | Potenz | nie XOR (XOR ist das Wort xor im Ganzzahlpfad) |
% (Nachstellung) | p% = p/100 | semantisches „Prozent” in additivem Kontext |
x (Nachstellung) | 1.5x = Multiplikator 1.5 | wird nur erkannt, wenn keine Variable x aktiv ist |
of (Infix, *-Ebene) | 15% of 490 = 73.5 | die linke Seite muss ein Prozent oder ein Multiplikator sein (1.5x): 1.5x of 20 = 30, Ketten 10% of 20% of 50 = 1; 3 of 4 ist ein Fehler. In Prozentzeilen ist die Basis von N% of E der Rest der Zeile: 15% of 490 + 5 = 74.25 |
< <= > >= | Vergleiche | numerisch; das Ergebnis ist boolesch |
== != | Gleichheit / Ungleichheit | boolesches Ergebnis |
and && | Konjunktion | && schließt nur bei falscher linker Seite kurz: false && (1/0 > 0) = false; true && … und das Wort and werten den rechten Operanden immer aus |
or || | Disjunktion | schließt nicht kurz: beide Operanden werden ausgewertet — false or (1/0 > 0) und false || (1/0 > 0) sind Division-durch-Null-Fehler |
not ! | Negation | Präfix |
if a then b else c | Bedingung | niedrigste Rangfolge; die Zweige sind vollständige Ausdrücke; else ist Pflicht |
Mehr zu den Prozent- und Multiplikatorformen unter Prozente.
Boolesche Werte sind ein echter Typ
true und false werden nie zu 1/0 umgewandelt. Ein boolescher Wert und eine Zahl in
einem Operator sind ein Fehler.
Glyphen gegenüber Wörtern
- Die Glyphen
&und|sind immer bitweise: Mit booleschen Operanden sind sie ein Fehler (false | (1/0 > 0)→ „Invalid expression”). - Nur die Wörter
and/orsind kontextuell: Zwei Ganzzahlen machen sie bitweise, zwei boolesche Werte logisch.
Exakte Ganzzahlen und Bit-Operatoren
Der exakte Ganzzahlmodus wird aktiviert durch:
- Stark: Literale
0x…/0b…/0o…, die Aufrufeint(bin(oct(hex(, die Phrasen… as|in <base>/… to base N, die Bit-Glyphen&|<<>>und das Wortxor. Glyphen zählen nur, wenn die Zeile mathematischen Inhalt hat —fish & chipsbleibt Prosa. - Schwach: das Wort
and/or, wenn beide Seiten Ganzzahlen sind.
Rangfolge für exakte Ganzzahlen, von niedrig nach hoch:
if/then/else → || → && → | / or → xor → & / and
→ comparisons == != < <= > >= → shifts << >> → + - → * / % → ^
→ unary → primaries
| Operator | Bedeutung | Hinweise |
|---|---|---|
& | bitweises UND | |
| | bitweises ODER | die Glyphe ist immer bitweise: boolesche Operanden sind ein Fehler (false | (1/0 > 0)) |
xor | bitweises XOR (Wort) | 6 xor 3 = 5 |
<< | Linksverschiebung | Verschiebung 0…63; Überlauf ist ein Fehler |
>> | Rechtsverschiebung | Verschiebung 0…63; arithmetisch für negative Werte |
/ | Ganzzahldivision | das Ergebnis ist eine Dezimalzahl, wenn ein Rest bleibt |
% | Rest | |
^ | Potenz | Exponent wird geprüft; ein negativer Exponent erzeugt eine Dezimalzahl |
Alle Werte hier sind exakte Ganzzahlen: 0x7FFFFFFFFFFFFFFF = 9223372036854775807. Überlauf
ist ein sichtbarer Fehler — nie ein Wraparound, nie eine still gerundete Zahl. Division mit Rest, ein
negativer Exponent und nicht ganzzahlige Werte „verlassen” die exakten Ganzzahlen, daher solltest
du an Grenzen ausdrückliche Klammern setzen.
Die literalen Formen und Basisnamen stehen unter Zahlen & Ganzzahlbasen.
Verwandt
- Zahlen & Ganzzahlbasen — Hex-/Binär-/Oktalliterale und Phrasen.
- Integrierte Funktionen —
powteilt den Vertrag von^. - Prozente — die strengen Phrasenmuster auf diesen Operatoren.