Baseline Widely available
Die statische Methode Math.log1p()
gibt den natürlichen Logarithmus (Basis e) von 1 + x
zurück, wobei x
das Argument ist. Das bedeutet:
console.log(Math.log1p(1));
// Expected output: 0.6931471805599453
console.log(Math.log1p(0));
// Expected output: 0
console.log(Math.log1p(-1));
// Expected output: -Infinity
console.log(Math.log1p(-2));
// Expected output: NaN
Syntax Parameter
x
Eine Zahl, die gröÃer oder gleich -1 ist.
Der natürliche Logarithmus (Basis e) von x + 1
. Wenn x
-1 ist, wird -Infinity
zurückgegeben. Wenn x < -1
ist, wird NaN
zurückgegeben.
Für sehr kleine Werte von x kann das Hinzufügen von 1 die Genauigkeit reduzieren oder beseitigen. Die in JS verwendeten Gleitkommazahlen mit doppelter Genauigkeit bieten etwa 15 Stellen Genauigkeit. 1 + 1e-15 = 1.000000000000001, aber 1 + 1e-16 = 1.000000000000000 und deshalb genau 1.0 in dieser Arithmetik, da Zahlen ab der 15. Stelle abgerundet werden.
Wenn Sie log(1 + x) berechnen, wobei x eine kleine positive Zahl ist, sollten Sie eine Antwort erhalten, die sehr nahe bei x liegt, denn: lim x â 0 log â¡ ( 1 + x ) x = 1 \lim_{x \to 0} \frac{\log(1+x)}}{x} = 1 . Wenn Sie Math.log(1 + 1.1111111111e-15)
berechnen, sollten Sie eine Antwort erhalten, die nahe bei 1.1111111111e-15
liegt. Stattdessen werden Sie den Logarithmus von 1.00000000000000111022
nehmen (die Rundung erfolgt binär, daher kann sie manchmal unschön sein) und die Antwort 1.11022â¦e-15 mit nur 3 korrekten Stellen erhalten. Wenn Sie stattdessen Math.log1p(1.1111111111e-15)
berechnen, erhalten Sie eine viel genauere Antwort, 1.1111111110999995e-15
, mit 15 korrekten Stellen (in diesem Fall sogar 16).
Wenn der Wert von x
kleiner als -1 ist, ist der Rückgabewert immer NaN
.
Da log1p()
eine statische Methode von Math
ist, verwenden Sie sie immer als Math.log1p()
und nicht als Methode eines von Ihnen erstellten Math
-Objekts (Math
ist kein Konstruktor).
Math.log1p(-2); // NaN
Math.log1p(-1); // -Infinity
Math.log1p(-0); // -0
Math.log1p(0); // 0
Math.log1p(1); // 0.6931471805599453
Math.log1p(Infinity); // Infinity
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4