HandyTools Hub

Wissenschaftlicher Rechner

Erweiterter Rechner mit trigonometrischen Funktionen, Logarithmen, Fakultät und mehr.

 
0

Verlauf

Noch keine Berechnungen

Dies ist ein wissenschaftlicher Taschenrechner im Browser mit einem selbst geschriebenen Ausdrucksparser. Er beherrscht die Arithmetik eines Taschenrechners plus Trigonometrie, Logarithmen, Potenzen, Wurzeln und Fakultäten und zeigt den Rechenweg über eine sichtbare Ausdruckszeile statt über eine einzelne wechselnde Zahl. Weil der Parser maßgeschneidert ist, ruft das Tool kein eval() von JavaScript auf, und nichts, was Sie eintippen, verlässt die Seite.

Anleitung

Tippen Sie direkt in die Anzeige oder klicken Sie auf die Tasten am Bildschirm. Beide Wege erzeugen dieselbe Ausdruckszeichenkette.

  1. Geben Sie Ihren Ausdruck ein, zum Beispiel 3 + 4 * 2.
  2. Wählen Sie DEG oder RAD für die Winkelfunktionen, bevor Sie auswerten.
  3. Drücken Sie = oder Enter. Das Ergebnis ersetzt den Ausdruck in der Anzeige; der vollständige Ausdruck steht darüber.
  4. Nutzen Sie die Funktionstasten für sqrt, log, ln, log2, sin, cos, tan und deren Umkehrfunktionen. Die Tasten pi und e fügen die Konstanten ein.
  5. Löschen Sie mit der C-Taste, um eine neue Berechnung zu beginnen.

Das Layout ist responsiv, sodass dieselbe Tastatur auch auf einem Handydisplay ohne Zoomen funktioniert.

Praxisbeispiele

AusdruckModusErgebnisBegründung
18 + 24 / 6beliebig22Division bindet stärker als Addition
sin(30)DEG0,530 Grad werden zu pi/6 Radiant
sin(pi/2)RAD1Eine Vierteldrehung im Bogenmaß
log(1000)beliebig3log ist zur Basis 10
ln(e)beliebig1Natürlicher Logarithmus von e
5!beliebig1205 * 4 * 3 * 2 * 1
2^3^2beliebig512Rechtsassoziativ: 2^9
sqrt(2)beliebig1,41421356…Irrational; gerundet angezeigt
17 % 5beliebig2Rest, kein Prozentwert

Diese Beispiele dienen zugleich als schnelle Prüfung, ob Sie im erwarteten Winkelmodus sind. Wenn sin(30) einen Wert nahe 0,988 statt 0,5 liefert, befinden Sie sich im RAD-Modus.

Wie der Parser Ausdrücke auswertet

Die Eingabe wird in drei Stufen verarbeitet, von denen keine eval() verwendet:

  1. Tokenisieren – die Zeichenkette wird in Zahlen, Operatoren, Funktionsnamen, Konstanten, Klammern und das Postfix ! zerlegt. Leerzeichen werden ignoriert, 1 + 2 und 1+2 sind also identisch.
  2. Shunting-Yard – die Token werden mit einem Operator-Vorrangstapel in umgekehrte polnische Notation (RPN) umsortiert. Hier wird die Assoziativität entschieden.
  3. RPN-Auswertung – ein numerischer Stapel wird von links nach rechts abgearbeitet, um den Endwert zu erzeugen.

Vorrang, von locker nach streng:

EbeneOperatorenAssoziativität
1+ -links
2* / %links
3^rechts
4! (Postfix)–

Das unäre Minus wird beim Tokenisieren behandelt: Ein - am Anfang eines Ausdrucks oder direkt nach (, ^, *, /, %, + oder einem weiteren - wird in die folgende Zahl gefaltet. So wird -3^2 zu (-3)^2 = 9. Wer das konventionelle -(3^2) möchte, setzt die Klammern selbst.

Grad und Bogenmaß

Der DEG/RAD-Umschalter betrifft nur sin, cos, tan, asin, acos und atan; Arithmetik und Logarithmen bleiben unberührt.

Im DEG-Modus schreibt das Tool den Ausdruck mechanisch um. Ein Vorwärts-Aufruf einer Winkelfunktion bekommt sein Argument mit pi / 180 multipliziert, ein Umkehr-Aufruf bekommt sein Ergebnis mit 180 / pi multipliziert. Daraus folgt:

  • sin(90) DEG = 1
  • cos(180) DEG = -1
  • atan(1) DEG = 45
  • sin(1) DEG ≈ 0,0174524 (1 Grad, nicht 1 Radiant)

Im RAD-Modus bilden die Funktionen direkt auf die JavaScript-Bibliothek Math ab, sodass tan(pi/4) = 1 und asin(1) ≈ 1,5707963 gilt.

Was einen Fehler auslöst

Der Rechner meldet eine kleine Menge von Fehlern, statt NaN oder Infinity anzuzeigen:

  • Division durch null – 5 / 0 wird abgelehnt, statt Infinity zurückzugeben.
  • Fakultät einer negativen oder nicht ganzzahligen Zahl – (-3)! und 0,5! scheitern beide; 0! ist in Ordnung.
  • Unpassende Klammern – eine nicht geschlossene oder überzählige ) stoppt die Auswertung.
  • Nicht endlicher Wert – sqrt(-1), ln(-1) und log(0) erzeugen einen Wert, der NaN oder unendlich ist, und das Tool markiert das. Eine Unterstützung komplexer Zahlen gibt es hier nicht.

Zwei weitere Grenzen sind wichtig. Ergebnisse nutzen IEEE-754-Doppelpräzision, daher wird 0,1 + 0,2 als 0,30000000000000004 angezeigt; das Tool rundet nicht auf eine feste Anzahl von Nachkommastellen. Und Funktionsnamen werden als Ganzes erkannt, sin(30) ist also Pflicht statt sin 30.

Praktische Hinweise

  • Setzen Sie ein ausdrückliches * zwischen eine Zahl und eine Konstante oder Funktion. 2pi ist keine implizite Multiplikation: Der Tokenizer erzeugt zwei benachbarte Operanden, und die Auswertung scheitert mit Invalid expression. Schreiben Sie 2*pi.
  • Die wissenschaftliche Notation wird als Eingabe nicht akzeptiert. 1e3 wird als Zahl 1, dann als Konstante e, dann als 3 gelesen, was sich nicht auswerten lässt. Geben Sie 1000 ein oder 10^3, wenn Sie die Potenz zeigen möchten.
  • Ein führender Dezimalpunkt ist erlaubt, .5 und 0,5 liefern also dasselbe Ergebnis.
  • Setzen Sie eine negative Basis in Klammern, wenn die Potenz zählt. Der Tokenizer faltet ein führendes Minus in die Zahl, -2^2 wird also als (-2)^2 = 4 behandelt. Für die übliche mathematische Lesart schreiben Sie -(2^2) für -4.
  • Prüfen Sie Brüche, indem Sie im Ausdruck dividieren. 22/7 liefert 3,142857142857143, eine bekannte Näherung an pi.
  • Das Ergebnis lässt sich in der Anzeige markieren und kopieren, was das Einfügen in ein Dokument oder eine zweite Berechnung erleichtert.

Anwendungsfälle

  • Hausaufgaben zu Trigonometrie, Logarithmen und Fakultäten prüfen, wenn eine Handy-Taschenrechner-App den Rechenweg verbirgt.
  • Schnelle Ingenieur-Arithmetik, bei der pi, e, log2 und sqrt auf einem Bildschirm stehen sollen.
  • Operator-Vorrang und die DEG/RAD-Umrechnung im Unterricht vorführen, da Ausdruck und Ergebnis gemeinsam sichtbar bleiben.
  • Statistik und Kombinatorik, wo Fakultäten mittelgroßer Zahlen häufig sind.

Verwandte Tools

  • Einheitenumrechner — Zwischen Hunderten von Einheiten für Länge, Masse, Volumen, Temperatur und mehr umrechnen.
  • Prozentrechner — Prozentsätze, Erhöhungen, Verringerungen und Verhältnisse schnell berechnen.
  • Zahlenbasis-Konverter — Zwischen Binär-, Oktal-, Dezimal- und Hexadezimalsystem umrechnen.
  • Zufallszahlengenerator — Zufallszahlen mit eigenen Bereichen und Optionen erzeugen.

Häufig gestellte Fragen

Welche Funktionen und Konstanten unterstützt der Rechner?

Er unterstützt die vier Grundrechenarten plus Modulo (%), Potenzierung mit ^, Quadratwurzel (sqrt), Fakultät (!), Zehnerlogarithmus (log), natürlichen Logarithmus (ln), Binärlogarithmus (log2) sowie die Winkelfunktionen sin, cos, tan mit ihren Umkehrfunktionen asin, acos, atan. Die Konstanten pi und e stehen bereit, und log2 wird als eigene Funktion erkannt, nicht als log(2).

Warum ergibt sin(30) im DEG-Modus 0,5, im RAD-Modus aber etwas anderes?

Der DEG-Modus schreibt das Argument vor der Auswertung um: Aus sin(30) wird sin(30 * pi / 180), also sin(pi/6) = 0,5. Der RAD-Modus reicht die 30 direkt durch, und 30 Radiant ist ungefähr 0,988. Umkehrfunktionen rechnen in die andere Richtung: asin(0,5) liefert im DEG-Modus 30 und im RAD-Modus etwa 0,5236.

Wird 2^3^2 als (2^3)^2 oder als 2^(3^2) ausgewertet?

Von rechts nach links, wie in der üblichen mathematischen Notation. Der Potenzoperator ist rechtsassoziativ, also wird 2^3^2 als 2^(3^2) = 2^9 = 512 geparst, nicht als 64. Alle anderen binären Operatoren sind linksassoziativ.

Berechnet die %-Taste einen Prozentsatz?

Nein. % ist der Modulo-Operator (Rest), also ergibt 17 % 5 = 2. Um einen Prozentsatz eines Werts zu nehmen, schreiben Sie ihn als Bruch: 200 * 15 / 100 = 30.

Warum liefert 0,5! einen Fehler?

Die Fakultät ist hier nur für ganze, nicht negative Zahlen definiert. 0,5! scheitert, weil es keine Ganzzahl ist, und (-3)! scheitert, weil die Fakultät einer negativen Zahl nicht definiert ist. 0! ist erlaubt und ergibt 1.

Brauche ich nach Funktionsnamen wie sin oder sqrt immer Klammern?

Ja, immer. sin(90) ist eindeutig, doch sin90 lässt die Funktion auf dem Operatorenstapel liegen, und in einem längeren Ausdruck wie sin30+2 greift die Funktion auf die gesamte Summe zu und erzeugt sin(32). Schreiben Sie jede Funktion als name(argument).

Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert