Zum Inhalt springen
Varlig-Handbuch
Varlig-Startseite

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 ², ³ 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:

calc
12.50 + 4.30 ergibt €16.80
3 * 4.50 ergibt €13.50
1,000 * 1.05^3 ergibt €1,157.63
6 times 7 ergibt 42
100 minus 37.5 ergibt 62.5

Juxtaposition bedeutet, das * wegzulassen, wie in 2(3 + 4) oder . Wann das funktioniert und wann nicht, erklärt Implizite Multiplikation.

Rangfolge der Rechenarten

Gerechnet wird in der üblichen Reihenfolge aus dem Matheunterricht:

  1. Klammern.
  2. Fakultäten wie 5!.
  3. Potenzen, von rechts nach links: 2^3^2 ist 2^9, also 512.
  4. Ein vorangestelltes Minuszeichen, angewendet nach der Potenz: -2^2 ist -4, (-2)^2 dagegen 4.
  5. Multiplikation, Division und mod, von links nach rechts.
  6. 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:

calc
85 - 12.50 * 2 ergibt €60.00
(85 - 12.50 ) * 2 ergibt €145.00
120 / 4 / 2 ergibt €15.00

Setz 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:

calc
(9 + 16) ergibt 5

Divisionsreste

mod liefert, was beim Teilen übrig bleibt. Das ist praktisch, um Dinge in Gruppen aufzuteilen:

calc
Eier = 50
Eier mod 6 ergibt 2
floor(Eier / 6) ergibt 8

Fü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:

calc
5! ergibt 120
Läufer = 4
Läufer! ergibt 24
3! + 2 ergibt 8
5!=4 ergibt true

Eine 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:

calc
Budget = 400
ausgegeben = 365
ausgegeben <= Budget ergibt true
ausgegeben == Budget ergibt false
ausgegeben != Budget ergibt true
5 km == 5,000 m ergibt true
90 min >= 1.5 hours ergibt true
2 kg < 2,500 g ergibt true

Einheiten 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 < 10 wird 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:
calc
Frist = 30 September 2026
gebucht = 14 September 2026
Frist - gebucht ergibt 2 weeks 2 days
Frist - gebucht >= 7 days ergibt true

Logische 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.

calc
Strecke = 5 km
Laufzeit = 27 min
Strecke >= 5 km && Laufzeit < 30 min ergibt true
Strecke >= 10 km || Laufzeit < 25 min ergibt false
Strecke >= 10 km or Laufzeit < 30 min ergibt true

true und false kannst du direkt schreiben und mit && und || kombinieren:

calc
true || false ergibt true
true && false ergibt false

Einige Schreibweisen, die du vielleicht erwartest, werden nicht unterstützt:

  • and und or funktionieren nur zwischen Vergleichen. true and false geht nicht; schreib true && false.
  • Es gibt keinen Negationsoperator: not true und !true funktionieren nicht. Vergleiche stattdessen mit false, wie in (ausgegeben > Budget) == false.
  • or ist kein Ersatzwert bei Fehlern: 1/0 or 5 ergibt nicht 5.

Vergleiche in Bedingungen nutzen

Am nützlichsten ist ein Vergleich in if … then … else …, das je nach Ergebnis einen Wert auswählt:

calc
Warenkorb = 34.50
if Warenkorb >= 40 then 0 else 3.99 ergibt €3.99

Die 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.

calc
12 & 10 ergibt 8
12 | 10 ergibt 14
12 xor 10 ergibt 6
12 AND 10 ergibt 8
1 << 10 ergibt 1,024
1024 >> 3 ergibt 128

Das 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:

calc
0o644 | 0o111 to octal ergibt 0o755
Farbe = 0xFF8800
(Farbe >> 8) & 0xFF ergibt 136

Verschiebungen 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:

calc
# Budget September
Nettogehalt = 2,400
Miete = 1,050
Nebenkosten = 230
Lebensmittel = 4 * 65 ergibt €260.00
übrig = Nettogehalt - Miete - Nebenkosten - Lebensmittel ergibt €860.00
Miete / Nettogehalt as % ergibt 43.75%
übrig > 500 ergibt true
übrig > 500 && Miete <= Nettogehalt * 45% ergibt true

Bei 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.