JavaScriptsMathematik

Logarithmus-Rechner

Berechnet den Logarithmus zu jeder Basis, dazu den natürlichen und den Zweierlogarithmus — und rechnet auch den Weg zurück.

Der Logarithmus beantwortet immer dieselbe Frage: Mit welcher Hochzahl muss ich eine Basis potenzieren, um eine bestimmte Zahl zu erhalten? log₁₀(1000) ist 3, weil 10³ gleich 1000 ist. Mehr steckt nicht dahinter — er ist die Umkehrung des Potenzierens, so wie die Wurzel, nur dass hier nicht die Grundzahl, sondern die Hochzahl gesucht wird.

Das Script rechnet in beide Richtungen: Ihr gebt eine Zahl ein und bekommt den Logarithmus zu jeder gewünschten Basis, oder ihr gebt eine Hochzahl ein und bekommt die Potenz. Die drei wichtigsten Basen erscheinen immer mit: 10 für den Zehnerlogarithmus, e ≈ 2,718 für den natürlichen Logarithmus und 2 für den Zweierlogarithmus.

Logarithmen sind alles andere als Schulstoff ohne Anwendung. Sie tauchen überall dort auf, wo etwas über viele Größenordnungen hinweg gemessen wird, weil unsere Wahrnehmung selbst logarithmisch arbeitet: Die Dezibelskala für Lautstärke, die Richterskala für Erdbeben, der pH-Wert und die Helligkeitsstufen der Astronomie sind alle logarithmisch. Ein Erdbeben der Stärke 7 setzt nicht sieben Siebtel, sondern rund das Dreißigfache der Energie eines Bebens der Stärke 6 frei.

In der Informatik ist der Zweierlogarithmus allgegenwärtig: Er sagt, wie viele Bits eine Zahl braucht und wie viele Halbierungsschritte eine Suche in sortierten Daten kostet. Bei einer Million Einträgen sind das nur 20 Schritte — die Grundlage dafür, dass Suchen überhaupt schnell sein kann.

Verwandtes im Archiv: Beliebige Wurzel ziehen ist die andere Umkehrung des Potenzierens, Anzahl der Stellen von Potenzen benutzt Logarithmen und der Zinseszins-Rechner braucht sie für die Verdopplungszeit.

Mathematik Baujahr 2026 läuft in deinem Browser
Script von kostenlose-javascripts.de

So funktioniert das Script

JavaScript kennt drei Logarithmusfunktionen, aber nicht die zu beliebiger Basis. Die entsteht aus einer der nützlichsten Formeln der Mathematik.

function logZuBasis(wert, basis) {
  return Math.log(wert) / Math.log(basis);
}

Das ist der Basiswechselsatz: Der Logarithmus zu einer beliebigen Basis ist der Quotient zweier Logarithmen zu irgendeiner gemeinsamen Basis. Welche man dafür nimmt, ist gleichgültig — Math.log10(x) / Math.log10(b) liefert dasselbe wie Math.log(x) / Math.log(b). Der Grund: Die Wahl der Basis skaliert alle Logarithmen um denselben Faktor, und im Bruch kürzt er sich weg.

Math.log(wert)     // natürlicher Logarithmus, Basis e
Math.log10(wert)   // Basis 10
Math.log2(wert)    // Basis 2

Eine Stolperfalle für Umsteiger: Math.log ist in JavaScript der natürliche Logarithmus zur Basis e, nicht der Zehnerlogarithmus. In vielen Taschenrechnern und in einigen anderen Sprachen ist „log" dagegen die Basis 10. Wer das verwechselt, erhält Ergebnisse, die um den Faktor 2,3026 danebenliegen — genau um ln(10).

if (wert <= 0) {
  ausgabe.textContent = "Der Logarithmus ist nur für positive Zahlen erklärt …";
}

Für null und negative Zahlen gibt es keinen Logarithmus im Reellen, und der Grund ist anschaulich: Keine Hochzahl macht aus einer positiven Basis eine negative Zahl. Je kleiner die Hochzahl wird, desto näher rückt das Ergebnis an null heran, ohne sie je zu erreichen. JavaScript liefert für Math.log(0) folgerichtig -Infinity und für negative Werte NaN; die Abfrage fängt beides mit einer verständlichen Erklärung ab.

const stellen = Math.floor(Math.log10(wert)) + 1;

Hier zeigt sich der Logarithmus von seiner praktischen Seite: Die Anzahl der Stellen einer Zahl ist der abgerundete Zehnerlogarithmus plus eins. Für 1000 ergibt log10 genau 3, abgerundet 3, plus eins gleich 4 Stellen. Für 999 ergibt er 2,9996, abgerundet 2, plus eins gleich 3. Das ist keine Näherung, sondern exakt — und die Grundlage jeder Abschätzung von Zahlengrößen.

Math.ceil(Math.log2(wert + 1))

Dasselbe zur Basis 2 beantwortet die Frage nach dem Speicherbedarf: Wie viele Bits braucht eine Zahl? Für 1000 sind es 10 Bit, denn 2¹⁰ ist 1024. Diese Rechnung steckt in jeder Überlegung zu Datentypen, Farbtiefen und, wie beim Passwort-Stärke-Prüfer, zu Entropie.

text += "\n\nProbe: 10 hoch " + … + " = " + Math.pow(10, Math.log10(wert));

Die Probe macht sichtbar, dass Logarithmus und Potenz einander aufheben. Sie zeigt gelegentlich auch die Grenzen der Rechengenauigkeit: Bei manchen Werten kommt nicht exakt die Ausgangszahl heraus, sondern etwa 999,9999999999999 — Kommazahlen werden im Rechner binär gespeichert, und dabei entstehen winzige Rundungsfehler.

Zum Anpassen: Für eine logarithmische Skala in einer Grafik — etwa zur Darstellung sehr unterschiedlich großer Werte — rechnet ihr jeden Wert durch Math.log10 und tragt das Ergebnis linear auf. Und wollt ihr die Verdopplungszeit bei gleichbleibendem Wachstum, ist es Math.log(2) / Math.log(1 + rate), wie beim Zinseszins.

Script für die eigene Homepage

Kopiert euch den kompletten Code und fügt ihn an der Stelle eurer Seite ein, an der das Script erscheinen soll. Er läuft ohne weitere Dateien und ohne fremde Server.

Mehr aus der Kategorie Mathematik