Skip to main content

Scientific Calculator

Full-featured scientific calculator with trigonometry, logarithms and more.

Geprüft von · Zuletzt geprüft

0

Den wissenschaftlichen Taschenrechner verwenden

  1. Klicke die Bildschirmtasten oder tippe direkt mit der Tastatur. Ziffern, die vier Grundrechenarten, Klammern und das Hochzeichen für Potenzen funktionieren alle.
  2. Rufe eine Funktion auf, indem du ihre Namenstaste tippst - sin, cos, tan, log, ln oder - dann das Argument und die schließende Klammer. Die Anzeige zeigt den Ausdruck während des Aufbaus als Vorschau.
  3. Füge eine Konstante ein mit der π- oder e-Taste. Sie erweitern sich auf den vollen double-precision-Wert, nicht auf ein gekürztes 3,14 oder 2,71.
  4. Drücke = oder Enter, um den Ausdruck auszuwerten. Der Ausdruck samt Ergebnis wird in das Verlauf-Band oben eingetragen; die letzten fünf Berechnungen bleiben zur Weiterverwendung sichtbar.
  5. Bearbeite mit Backspace (die Pfeil-links-Taste auf dem Tastenfeld), um das letzte Zeichen zu entfernen, oder C, um den gesamten Ausdruck zu löschen. Escape löscht ebenfalls.

Was passiert, wenn du Gleich drückst

Der Taschenrechner implementiert einen kleinen rekursiven Abstiegsparser in TypeScript, anstatt auf JavaScripts eval zurückzugreifen. Token werden von links nach rechts in Zahlen, Operatoren, Funktionsnamen und Klammern gescannt; eine Rangfolgetabelle im Shunting-Yard-Stil überführt den Token-Strom dann in einen AST aus binären und unären Knoten, bevor er ausgewertet wird. Das ist wichtig für die Sicherheit (die Anzeige kann niemals beliebiges JS ausführen) und für die Korrektheit (der Parser erzwingt die Operatorrangfolge gemäß ISO 80000-2, anstatt JavaScripts Eigenheiten zu erben wie 0,1 + 0,2 !== 0,3, das du weiterhin in der Ausgabe siehst, weil es eine Eigenschaft der IEEE-754-binary64-Arithmetik ist).

Trigonometrie-, Logarithmus- und Wurzelfunktionen delegieren direkt an Math.sin, Math.cos, Math.log10, Math.log und Math.sqrt, sodass du erhältst, was deine Laufzeitumgebung liefert: V8 (Chrome, Edge), SpiderMonkey (Firefox) oder JavaScriptCore (Safari). Alle drei implementieren elementare IEEE-754-Funktionen auf etwa eine ULP Genauigkeit, weshalb sin(π) als kleine Zahl nahe 10-16 statt als saubere null ausgegeben wird.

Wann ein wissenschaftlicher Taschenrechner die richtige Wahl ist

  • Hausaufgaben zu trigonometrischen Identitäten prüfen oder schnell tan(π/4) auswerten.
  • Dezibel oder pH umrechnen: log(x) liefert Basis 10, ln(x)/ln(10) falls man vergisst, dass es eine eigene Taste gibt.
  • Zinseszins berechnen mit (1 + r)^n, ohne eine Tabellenkalkulation zu öffnen.
  • Ein numerisches Ergebnis aus einer längeren Berechnung in Python, Excel oder Wolfram gegenchecken.
  • Auf einem Telefon oder Tablet arbeiten, bei dem der Betriebssystem-Rechner sich nicht drehen lässt oder keine Trigonometriefunktionen hat.
  • Einem Schüler die Punkt-vor-Strich-Regel erklären, wobei das Verlauf-Band zeigt, wie Ausdrücke geparst werden.

Stolpersteine und Gleitkomma-Genauigkeit

  • Bogenmaß, keine Grad. sin(90) gibt 0,893... zurück, nicht 1. Umrechnen mit Winkel * π / 180 oder direkt sin(π/2) tippen.
  • Binäre Gleitkommazahlen können 0,1 nicht exakt darstellen. 0,1 + 0,2 ergibt in jedem IEEE-754-System 0,30000000000000004. Das ist arithmetische Realität, kein Fehler.
  • Subtraktive Auslöschung. 1 + 1e-16 - 1 gibt 0 zurück, weil das Zwischenergebnis bei doppelter Genauigkeit auf 1 rundet. Umstellen des Ausdrucks vermeidet das Auslöschen einer großen Zahl gegen eine kleine.
  • Division durch null gibt Infinity zurück, keinen Fehler, gemäß der IEEE-754-Spezifikation. 0/0 gibt NaN zurück. Beide werden als lesbare Zeichenketten dargestellt.
  • Implizite Multiplikation wird nicht unterstützt. Schreibe 2*(3+4), nicht 2(3+4); Letzteres wird als Aufruf einer nicht vorhandenen Funktion behandelt.
  • Negative Potenzen negativer Basen sind heikel: (-2)^0,5 ist NaN, weil das Ergebnis komplex wäre, während (-2)^2 gleich 4 ist. Das Werkzeug führt keine komplexe Arithmetik durch.

Kurze Geschichte der Taschenrechner-Notation

Was der Taschenrechner implementiert, ist die Infix-Algebranotation, die von Texas Instruments im SR-50 (1974) standardisiert und in ISO 80000-2 für mathematische Zeichen und Symbole formalisiert wurde. Dieser Standard definiert die Vorrangregeln (unäres Minus und Potenzierung vor Multiplikation, Multiplikation vor Addition, von links nach rechts innerhalb einer Ebene), die Bedeutung von log als Basis 10 außerhalb der reinen Mathematik und die Konvention, dass sin ohne Argument in Klammern fehlerhaft ist. HPs ursprüngliche Maschinen von 1968 verwendeten stattdessen Umgekehrte Polnische Notation (RPN), die überhaupt keine Klammern benötigt; RPN überlebt in stapelbasierten Sprachen und auf einigen Händler-Tastaturen, hat aber den Konsumentenmarkt verloren.

Browser-Taschenrechner versus Alternativen

Ein physischer Taschenrechner (TI-30, Casio fx-991) führt seine Auswertung auf Festkomma-BCD-Hardware aus und kann bei langen Divisionsketten genauer sein; eine Taschenrechner-App wie PCalc bietet programmierbaren Speicher und Einheitenumrechnung; ein Desktop-REPL (Python mit math, Julia oder der Windows-Rechner im Programmiermodus) ist für alles mit Arrays, symbolischer Algebra oder hoher Präzision besser geeignet. Wolfram Alpha löst Gleichungen; dieses Werkzeug nicht. Wo die Browser-Version gewinnt, ist Latenz und Verfügbarkeit: "/" in die URL-Leiste eingeben, berechnen, Tab schließen, ohne etwas zu installieren oder sich anzumelden. Für schnelle Arithmetik und Trigonometrie mit gelegentlichem Logarithmus und Wurzel ersetzt es den Betriebssystem-Rechner eins zu eins.

Häufig gestellte Fragen

Warum gibt sin(pi) nicht genau null zurück?

Weil <code>Math.PI</code> die nächstgelegene IEEE-754-binary64-Annäherung an die mathematische Konstante ist, nicht die Konstante selbst. Ihr Wert weicht von dem wahren &pi; um etwa 1,2 * 10<sup>-16</sup> ab, und der Sinus nahe &pi; hat eine Ableitung von nahezu -1, sodass sich der Fehler in etwa derselben Größenordnung fortpflanzt. Jede Laufzeitumgebung, die den Gleitkommastandard einhält - V8, SpiderMonkey, JavaScriptCore, das Python-Modul <code>math</code>, das C-<code>libm</code> - liefert dieselbe kleine Zahl ungleich null.

Ist 0,1 + 0,2 wirklich gleich 0,30000000000000004?

Ja, und das ist eine Eigenschaft des IEEE-754-Binär-Gleitkommaformats, kein Browser-Fehler. Weder 0,1 noch 0,2 haben eine exakte binäre Darstellung, sodass die gerundete Summe nicht auf die nächstgelegene Darstellung von 0,3 trifft. Für finanzielle Berechnungen, die centgenau sein müssen, braucht man dezimale Arithmetik (<code>BigDecimal</code> in Java, <code>decimal.Decimal</code> in Python oder Integer-Cents), nicht diesen Taschenrechner.

Wird meine Eingabe an einen Server gesendet?

Nein. Der wissenschaftliche Taschenrechner ist eine als statisches JavaScript ausgelieferte Preact-Insel; Parser, Tokenizer und Auswertung laufen alle innerhalb deines Browser-Tabs. Du kannst in den DevTools überprüfen, dass das Drücken von = keine Netzwerkanfragen erzeugt. Das Verlauf-Band lebt im Komponentenzustand und wird beim Seitenneuladen oder Schließen verworfen.

Warum kann ich sin, aber nicht arcsin tippen?

Der aktuelle Build stellt die direkten Trigonometriefunktionen (sin, cos, tan) und die Logarithmen (log, ln) bereit, um die Tastatur klein zu halten. Inverse Trigonometrie- und Hyperbelfunktionen sind ein berechtigter Funktionswunsch, aber derzeit nicht eingebunden. Als Workaround kannst du <code>asin</code>-Ausdrücke anderswo (Python oder ein CAS) auswerten und das Ergebnis einfügen.

Was macht das Hochzeichen (^) genau?

Es ist der Potenzierungsoperator mit rechtsassoziativem Rang, sodass <code>2^3^2</code> als <code>2^(3^2)</code> = 2<sup>9</sup> = 512 ausgewertet wird, was der mathematischen Konvention in ISO 80000-2 entspricht. Intern wird <code>Math.pow</code> aufgerufen. Bei nicht-ganzzahligen Exponenten mit negativen Basen ist das Ergebnis NaN, da die wahre Antwort komplex wäre.

Wie genau sind die Ergebnisse?

Jede Operation läuft in IEEE-754-binary64 (doppelte Genauigkeit) und liefert etwa 15 bis 17 signifikante Dezimalstellen in der Mantisse. Das reicht für jedes wissenschaftliche Problem, das man normalerweise mit einem Taschenrechner löst. Für Berechnungen mit beliebiger Genauigkeit braucht man eine Bibliothek wie mpmath (Python), BigFloat (Julia) oder Wolfram; für dezimalexakte Finanzberechnungen einen dezimalen Typ.

Kann ich das vorherige Ergebnis in die nächste Berechnung übernehmen?

Das Verlauf-Band zeigt die letzten fünf (Ausdruck, Ergebnis)-Paare. Ein Klick auf ein früheres Ergebnis fügt es an der Cursorposition in den aktuellen Ausdruck ein, sodass es als Unterterm weiterverwendet werden kann. Es gibt keine dedizierte Ans-Variable wie beim TI-84, aber der Klick ins Verlauf-Band erfüllt denselben Zweck.

Warum verwendet der Taschenrechner Bogenmaß und lässt mich keine Grad wählen?

Bogenmaß ist die natürliche Einheit für Ableitungen und Taylor-Reihen, daher nimmt <code>Math.sin</code> in jeder großen Laufzeitumgebung Bogenmaß entgegen. Ein Grad-Umschalter würde einen Modusstatus erfordern, den die restliche UI anzeigen müsste, um den klassischen &quot;Falsches Ergebnis, weil ich den Modus vergessen habe&quot;-Fehler zu vermeiden. Die Umrechnung ist ein kurzes Präfix - <code>sin(x * &pi; / 180)</code> - und die &pi;-Taste ist einen Tipp entfernt.

Was ist der Unterschied zwischen log und ln?

<code>log</code> bedeutet den Logarithmus zur Basis 10 (dekadischer Logarithmus), wie er in Ingenieurwesen und Chemie üblich ist (pH, Dezibel), und entspricht <code>Math.log10</code>. <code>ln</code> steht für den natürlichen Logarithmus zur Basis e und entspricht <code>Math.log</code>. Reine Mathematiker schreiben manchmal <code>log</code> für den natürlichen Logarithmus; der Standard ISO 80000-2 empfiehlt <code>lg</code> für Basis 10 und <code>ln</code> für Basis e, erlaubt aber <code>log</code> für Basis 10, wenn der Kontext eindeutig ist.

Überlaufen sehr große Zahlen?

Ja, bei etwa 1,8 * 10<sup>308</sup>, was <code>Number.MAX_VALUE</code> entspricht. Alles darüber wird als <code>Infinity</code> angezeigt. Sehr kleine positive Zahlen unter etwa 5 * 10<sup>-324</sup> laufen zu 0 unter. Dazwischen steht der volle double-precision-Bereich zur Verfügung, der mehr als ein physischer Taschenrechner üblicherweise bietet.

Mehr Math & Calculators