Чему равен логарифм миллиона по основанию 2?

«Чему равен логарифм миллиона по основанию 2?» — вопрос из категории Other, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

log₂(1 000 000) ≈ 19.93

Как это вычисляется и зачем это нужно в тестировании?

  • Вычисление: Используется формула смены основания: log₂(n) = log₁₀(n) / log₁₀(2). log₁₀(1 000 000) = 6, log₁₀(2) ≈ 0.3010. Итог: 6 / 0.3010 ≈ 19.9316.
  • Практический смысл: Логарифмическая сложность O(log n) — ключевое понятие в анализе производительности. Если алгоритм имеет такую сложность, то для обработки 1 000 000 элементов ему потребуется около 20 операций (в логарифмическом масштабе).

Пример на Java для проверки:

public class LogExample {
    public static void main(String[] args) {
        double result = Math.log(1_000_000) / Math.log(2);
        System.out.println("log2(1,000,000) = " + result); // Выведет ~19.931568569324174
        // Это означает, что 2^19 < 1 000 000 < 2^20
        System.out.println("2^19 = " + Math.pow(2, 19)); // 524288
        System.out.println("2^20 = " + Math.pow(2, 20)); // 1048576
    }
}

В контексте QA: Понимание логарифмов помогает при анализе логов производительности, оценке времени выполнения алгоритмов и проектировании тестов для структур данных вроде бинарных деревьев.