Перейти к основному содержимому

Вычисление логарифмов в Java

· 2 мин. чтения

1. Введение

В этом коротком руководстве мы научимся вычислять логарифмы в Java. Мы рассмотрим как десятичные, так и натуральные логарифмы, а также логарифмы с пользовательским основанием.

2. Логарифмы

Логарифм — это математическая формула, представляющая степень, в которую мы должны возвести фиксированное число (по основанию), чтобы получить данное число.

В своей простейшей форме он отвечает на вопрос: сколько раз нужно умножить одно число, чтобы получить другое число?

Мы можем определить логарифм следующим уравнением:

./e1efbcdf120619ae8cdf6837c36a3c61d5c16222

точно, если

./d1b8a973d10f26d1cd61d2dd0cf1605ef1d54d42

3. Вычисление десятичных логарифмов

Логарифмы по основанию 10 называются десятичными логарифмами.

Чтобы вычислить десятичный логарифм в Java, мы можем просто использовать метод Math.log10() :

@Test
public void givenLog10_shouldReturnValidResults() {
assertEquals(Math.log10(100), 2);
assertEquals(Math.log10(1000), 3);
}

4. Вычисление натуральных логарифмов

Логарифмы по основанию e называются натуральными логарифмами.

Для вычисления натурального логарифма в Java мы используем метод Math.log() :

@Test
public void givenLog10_shouldReturnValidResults() {
assertEquals(Math.log(Math.E), 1);
assertEquals(Math.log(10), 2.30258);
}

5. Вычисление логарифмов с пользовательской базой

Чтобы вычислить логарифм с пользовательской базой в Java, мы используем следующее тождество:

./560323497497dc161ca4c1ad138dd0930e793e38

@Test
public void givenCustomLog_shouldReturnValidResults() {
assertEquals(customLog(2, 256), 8);
assertEquals(customLog(10, 100), 2);
}

private static double customLog(double base, double logNumber) {
return Math.log(logNumber) / Math.log(base);
}

6. Заключение

В этом уроке мы узнали, как вычислять логарифмы в Java.

Как всегда, исходный код доступен на GitHub .