Operatoren, Vergleiche und Bedingungen
Diese Seite behandelt die Zeichen und Wörter, die Werte miteinander verknüpfen: die Grundrechenarten,
die Reihenfolge, in der gerechnet wird, Vergleiche, die true oder false ergeben, sowie logische
und bitweise Operatoren. Schau hier nach, wenn eine Zeile eine andere Zahl liefert als erwartet,
oder wenn eine Notiz etwas für dich prüfen soll, etwa ob du noch im Budget bist.
Grundrechenarten
| Operator | Schreibweisen | Beispiel | Ergebnis |
|---|---|---|---|
| Addition | +, plus |
12.50 € + 4.30 € |
€16.80 |
| Subtraktion | -, −, minus |
20 € - 4.50 € |
€15.50 |
| Multiplikation | *, ×, times, multiplied by, Juxtaposition |
3 × 4.50 €, 2(3 + 4) |
€13.50, 14 |
| Division | /, ÷, divided by |
60 € / 4 |
€15.00 |
| Potenz | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| Rest | mod, % (zwischen zwei Zahlen) |
50 mod 6, 50 % 6 |
2 |
| Quadratwurzel | √, sqrt(...), square root of |
√144 |
12 |
| Quadrat / Kubik | ², ³ |
3³ |
27 |
| Fakultät | !, factorial(...) |
5!, factorial(5) |
120 |
Gerechnet wird mit reinen Zahlen, Geldbeträgen und Größen mit Einheiten, und das Ergebnis behält die Währung oder Einheit:
12.50 € + 4.30 € ergibt €16.803 * 4.50 € ergibt €13.501,000 € * 1.05^3 ergibt €1,157.636 times 7 ergibt 42100 minus 37.5 ergibt 62.5Juxtaposition bedeutet, das * wegzulassen, wie in 2(3 + 4) oder 2π. Wann das funktioniert
und wann nicht, erklärt Implizite Multiplikation.
Rangfolge der Rechenarten
Gerechnet wird in der üblichen Reihenfolge aus dem Matheunterricht:
- Klammern.
- Fakultäten wie
5!. - Potenzen, von rechts nach links:
2^3^2ist2^9, also 512. - Ein vorangestelltes Minuszeichen, angewendet nach der Potenz:
-2^2ist -4,(-2)^2dagegen 4. - Multiplikation, Division und
mod, von links nach rechts. - Addition und Subtraktion, von links nach rechts.
Ein weggelassenes * ändert an dieser Reihenfolge nichts: 2x^2 quadriert also zuerst x und
verdoppelt dann, genau wie eine Formel im Schulbuch.
Es gilt also Punkt vor Strich: Eine Multiplikation wird vor einer danebenstehenden Addition oder Subtraktion ausgeführt. Beim Zusammenrechnen einer Rechnung tappt man da leicht in die Falle:
85 € - 12.50 € * 2 ergibt €60.00(85 € - 12.50 €) * 2 ergibt €145.00120 € / 4 / 2 ergibt €15.00Setz im Zweifel Klammern. Sie schaden nie und machen die Notiz später leichter lesbar.
Ein Wurzelzeichen gilt nur für den Wert direkt dahinter, √9 + 16 ist also 19. Um die Wurzel aus
einer Summe zu ziehen, setz den ganzen Ausdruck in Klammern:
√(9 + 16) ergibt 5Divisionsreste
mod liefert, was beim Teilen übrig bleibt. Das ist praktisch, um Dinge in Gruppen aufzuteilen:
Eier = 50Eier mod 6 ergibt 2floor(Eier / 6) ergibt 8Fünfzig Eier füllen acht Sechserkartons, zwei bleiben übrig.
Auch % zwischen zwei Zahlen ergibt den Rest, selbst ohne Leerzeichen vor der zweiten Zahl:
50 % 6 und 50% 6 ergeben beide 2. Folgt auf % nichts mehr, entsteht ein Prozentwert (50%).
Mehr dazu unter Prozente.
Fakultäten
Setz ! direkt hinter eine Zahl, einen Namen oder eine schließende Klammer, um die Fakultät zu
berechnen:
5! ergibt 120Läufer = 4Läufer! ergibt 243! + 2 ergibt 85!=4 ergibt trueEine Fakultät wird vor einer danebenstehenden Potenz berechnet, 2^3! ist also 2⁶, das heißt 64.
Folgt auf ! ein =, bedeutet das weiterhin „ungleich“, wie die letzte Zeile zeigt.
factorial(5) liefert dasselbe Ergebnis wie 5!.
Vergleiche
==, !=, <, <=, > und >= vergleichen zwei Werte und antworten mit true oder false.
Sie funktionieren mit reinen Zahlen, mit Beträgen in derselben Währung und mit Größen, die dasselbe
messen, auch in unterschiedlichen Einheiten:
Budget = 400 €ausgegeben = 365 €ausgegeben <= Budget ergibt trueausgegeben == Budget ergibt falseausgegeben != Budget ergibt true5 km == 5,000 m ergibt true90 min >= 1.5 hours ergibt true2 kg < 2,500 g ergibt trueEinheiten werden vor dem Vergleich umgerechnet, 1 mile > 1.5 km ist also true. Vergleichst du
Größen, die Verschiedenes messen, etwa Kilogramm und Meter, erhältst du den Fehler
incompatible units.
Was Vergleiche nicht können
- Verkettungen.
5 < x < 10wird nicht unterstützt. Kombiniere stattdessen zwei Vergleiche:5 < x && x < 10. - Unicode-Zeichen.
≠,≤und≥werden nicht erkannt. Verwende!=,<=und>=. - Datumsangaben. Zwei Daten lassen sich nicht mit
<oder>vergleichen. Subtrahiere sie und vergleiche die Differenz mit einer Dauer:
Frist = 30 September 2026gebucht = 14 September 2026Frist - gebucht ergibt 2 weeks 2 daysFrist - gebucht >= 7 days ergibt trueLogische Operatoren
Verknüpfe Vergleiche mit && (beide müssen zutreffen) oder || (mindestens einer muss zutreffen).
Die Wörter and und or funktionieren zwischen zwei Vergleichen genauso.
Strecke = 5 kmLaufzeit = 27 minStrecke >= 5 km && Laufzeit < 30 min ergibt trueStrecke >= 10 km || Laufzeit < 25 min ergibt falseStrecke >= 10 km or Laufzeit < 30 min ergibt truetrue und false kannst du direkt schreiben und mit && und || kombinieren:
true || false ergibt truetrue && false ergibt falseEinige Schreibweisen, die du vielleicht erwartest, werden nicht unterstützt:
andundorfunktionieren nur zwischen Vergleichen.true and falsegeht nicht; schreibtrue && false.- Es gibt keinen Negationsoperator:
not trueund!truefunktionieren nicht. Vergleiche stattdessen mitfalse, wie in(ausgegeben > Budget) == false. orist kein Ersatzwert bei Fehlern:1/0 or 5ergibt nicht 5.
Vergleiche in Bedingungen nutzen
Am nützlichsten ist ein Vergleich in if … then … else …, das je nach Ergebnis einen Wert auswählt:
Warenkorb = 34.50 €if Warenkorb >= 40 € then 0 € else 3.99 € ergibt €3.99Die vollständige Syntax, darunter else if, nachgestelltes if und unless sowie Zuweisungen
innerhalb eines Zweigs, findest du unter Bedingungen.
Bitweise Operatoren
Ganze Zahlen unterstützen die bitweisen Operatoren & (Und), | (Oder), xor, <<
(Verschiebung nach links) und >> (Verschiebung nach rechts). Auch die großgeschriebenen Wörter
AND, OR und XOR funktionieren. Nützlich ist das vor allem beim Programmieren, etwa für
Farbwerte und Dateiberechtigungen.
12 & 10 ergibt 812 | 10 ergibt 1412 xor 10 ergibt 612 AND 10 ergibt 81 << 10 ergibt 1,0241024 >> 3 ergibt 128Das Ergebnis erscheint als gewöhnliche Zahl. Häng to binary, in hex oder to octal an, um es
im Zahlensystem zu sehen, mit dem du gerade arbeitest:
0o644 | 0o111 to octal ergibt 0o755Farbe = 0xFF8800(Farbe >> 8) & 0xFF ergibt 136Verschiebungen werden vor &, | und xor ausgeführt, aber mit Klammern ist eine Zeile wie im
Farbbeispiel viel leichter nachzuvollziehen.
Alles zusammen
Ein monatlicher Budget-Check, der Rechnen, Vergleiche und Logik kombiniert:
# Budget SeptemberNettogehalt = 2,400 €Miete = 1,050 €Nebenkosten = 230 €Lebensmittel = 4 * 65 € ergibt €260.00übrig = Nettogehalt - Miete - Nebenkosten - Lebensmittel ergibt €860.00Miete / Nettogehalt as % ergibt 43.75%übrig > 500 € ergibt trueübrig > 500 € && Miete <= Nettogehalt * 45% ergibt trueBei Lebensmittel wird multipliziert, bevor irgendetwas addiert wird, und übrig subtrahiert von
links nach rechts. Die letzten beiden Zeilen machen die Notiz zur Kontrolle: Das Ergebnis bleibt
true, solange mehr als 500 € übrig sind und die Miete höchstens 45 % des Nettogehalts ausmacht.
Sobald eines davon nicht mehr zutrifft, springt es auf false.