Math.log / log10 / log2 / exp în JavaScript

Numere și matematică Toate browserele (log10, log2, log1p, expm1: ES2015)

Logaritmi (natural, zecimal, în baza 2) și funcția exponențială e la puterea x.

Sintaxă
Math.log(x)
Math.log10(x)
Math.log2(x)
Math.exp(x)

Ce face Math.log / log10 / log2 / exp

Math.log este logaritmul natural (în baza e ≈ 2,718), Math.log10 este logaritmul zecimal, iar Math.log2 logaritmul în baza 2. Pentru 0 returnează -Infinity, iar pentru numere negative NaN.

Math.exp(x) calculează ex, operația inversă logaritmului natural. Variantele Math.log1p(x) (= log(1 + x)) și Math.expm1(x) (= ex − 1) dau rezultate mai precise pentru valori foarte apropiate de zero.

Pentru un logaritm în altă bază, împarte: Math.log(x) / Math.log(baza).

Parametri

Parametru Descriere
x Un număr.

Ce returnează

Un număr.

Exemple

Exemplul 1: Logaritmi și exponențiala

console.log(Math.log(Math.E));
console.log(Math.log10(1000), Math.log2(1024));
console.log(Math.exp(1), Math.exp(0));
console.log(Math.log(0), Math.log(-1));
console.log(Math.log(81) / Math.log(3));

Rezultat

1
3 10
2.718281828459045 1
-Infinity NaN
4.000000000000001

Exemplul 2: Câte cifre are un număr și câți biți trebuie

const n = 2026;

console.log(Math.floor(Math.log10(n)) + 1);
console.log(Math.ceil(Math.log2(300)));

Rezultat

4
9

Exemplul 3: Precizie lângă zero cu log1p și expm1

const x = 1e-17;

console.log(Math.log(1 + x), Math.log1p(x));
console.log(Math.exp(x) - 1, Math.expm1(x));

Rezultat

0 1e-17
0 1e-17

Greșeli frecvente

  • Folosești Math.log crezând că este logaritmul zecimal. În JavaScript, Math.log este cel natural; pentru baza 10 folosește Math.log10.
  • Calculezi Math.log(81) / Math.log(3) și te aștepți la exact 4. Rezultatul poate avea erori mici de rotunjire; rotunjește-l dacă ai nevoie de un întreg.

Comenzi înrudite