Wissenschaftlicher Rechner
Erweiterter Rechner mit trigonometrischen Funktionen, Logarithmen, Fakultät und mehr.
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.
- Geben Sie Ihren Ausdruck ein, zum Beispiel
3 + 4 * 2. - Wählen Sie DEG oder RAD für die Winkelfunktionen, bevor Sie auswerten.
- Drücken Sie
=oder Enter. Das Ergebnis ersetzt den Ausdruck in der Anzeige; der vollständige Ausdruck steht darüber. - Nutzen Sie die Funktionstasten für
sqrt,log,ln,log2,sin,cos,tanund deren Umkehrfunktionen. Die Tastenpiundefügen die Konstanten ein. - 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
| Ausdruck | Modus | Ergebnis | Begründung |
|---|---|---|---|
18 + 24 / 6 | beliebig | 22 | Division bindet stärker als Addition |
sin(30) | DEG | 0,5 | 30 Grad werden zu pi/6 Radiant |
sin(pi/2) | RAD | 1 | Eine Vierteldrehung im Bogenmaß |
log(1000) | beliebig | 3 | log ist zur Basis 10 |
ln(e) | beliebig | 1 | Natürlicher Logarithmus von e |
5! | beliebig | 120 | 5 * 4 * 3 * 2 * 1 |
2^3^2 | beliebig | 512 | Rechtsassoziativ: 2^9 |
sqrt(2) | beliebig | 1,41421356… | Irrational; gerundet angezeigt |
17 % 5 | beliebig | 2 | Rest, 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:
- Tokenisieren – die Zeichenkette wird in Zahlen, Operatoren, Funktionsnamen, Konstanten, Klammern und das Postfix
!zerlegt. Leerzeichen werden ignoriert,1 + 2und1+2sind also identisch. - Shunting-Yard – die Token werden mit einem Operator-Vorrangstapel in umgekehrte polnische Notation (RPN) umsortiert. Hier wird die Assoziativität entschieden.
- RPN-Auswertung – ein numerischer Stapel wird von links nach rechts abgearbeitet, um den Endwert zu erzeugen.
Vorrang, von locker nach streng:
| Ebene | Operatoren | Assoziativitä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 =1cos(180)DEG =-1atan(1)DEG =45sin(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 / 0wird abgelehnt, statt Infinity zurückzugeben. - Fakultät einer negativen oder nicht ganzzahligen Zahl –
(-3)!und0,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)undlog(0)erzeugen einen Wert, derNaNoder 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.2piist keine implizite Multiplikation: Der Tokenizer erzeugt zwei benachbarte Operanden, und die Auswertung scheitert mitInvalid expression. Schreiben Sie2*pi. - Die wissenschaftliche Notation wird als Eingabe nicht akzeptiert.
1e3wird als Zahl 1, dann als Konstantee, dann als 3 gelesen, was sich nicht auswerten lässt. Geben Sie1000ein oder10^3, wenn Sie die Potenz zeigen möchten. - Ein führender Dezimalpunkt ist erlaubt,
.5und0,5liefern 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^2wird also als(-2)^2 = 4behandelt. Für die übliche mathematische Lesart schreiben Sie-(2^2)für-4. - Prüfen Sie Brüche, indem Sie im Ausdruck dividieren.
22/7liefert3,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,log2undsqrtauf 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