Ce face ln
Logaritmul răspunde la întrebarea „la ce putere trebuie ridicată baza ca să obțin x?”. log10(1000.0) este 3.0, pentru că 10³ = 1000. log2(8.0) este 3.0, iar ln(x) folosește baza e. Pentru o bază oarecare există log(x, baza).
exp(x) este operația inversă lui ln: calculează ex, deci exp(ln(5.0)) dă înapoi aproximativ 5. Logaritmul lui 0 este minus infinit (-Infinity), iar al unui număr negativ este NaN.
Parametri
| Parametru | Descriere |
|---|---|
x |
Numărul (pozitiv) pentru logaritm sau exponentul pentru exp. |
base |
Pentru log: baza logaritmului. |
Ce returnează
Un Double.
Exemple
Exemplul 1: Logaritmi în diferite baze
Fiecare rezultat este exponentul la care trebuie ridicată baza. log(81.0, 3.0) dă 4.000000000000001 în loc de 4, din cauza preciziei limitate a lui Double. Logaritmul lui 0 este minus infinit.
import kotlin.math.E
import kotlin.math.ln
import kotlin.math.log
import kotlin.math.log10
import kotlin.math.log2
fun main() {
println(log10(1000.0))
println(log2(1024.0))
println(ln(E))
println(log(81.0, 3.0))
println(log10(0.0))
}
Rezultat
3.0
10.0
1.0
4.000000000000001
-Infinity
Exemplul 2: Câte cifre are un număr
Numărul de cifre al lui n este floor(log10(n)) + 1.
import kotlin.math.floor
import kotlin.math.log10
fun main() {
for (n in listOf(7, 42, 2025, 1000000)) {
val cifre = floor(log10(n.toDouble())).toInt() + 1
println("$n are $cifre cifre")
}
}
Rezultat
7 are 1 cifre
42 are 2 cifre
2025 are 4 cifre
1000000 are 7 cifre
Exemplul 3: Creștere exponențială cu exp
O populație de bacterii crește continuu cu 50% pe oră: N = N0 × e^(0.5 × t).
import kotlin.math.exp
import kotlin.math.roundToInt
fun main() {
val initial = 100.0
for (ore in 0..4) {
println("După $ore ore: ${(initial * exp(0.5 * ore)).roundToInt()} bacterii")
}
}
Rezultat
După 0 ore: 100 bacterii
După 1 ore: 165 bacterii
După 2 ore: 272 bacterii
După 3 ore: 448 bacterii
După 4 ore: 739 bacterii
Greșeli frecvente
- Cauți
log(x)pentru logaritmul natural. În Kotlin se numeșteln(x);logcere și baza. - Calculezi logaritmul unui
Intdirect. Funcțiile primescDouble; foloseștetoDouble().
Comenzi înrudite
sqrt: sqrt calculează rădăcina pătrată, pow ridică la putere (2.0.pow(3) = 8.0), hypot dă ipotenuza.PI: Constantele matematice π (PI, raportul dintre circumferință și diametru) și e (E, baza logaritmului natural).round: Rotunjesc un număr zecimal: round la cel mai apropiat întreg, floor în jos, ceil în sus, truncate taie zecimalele.