Log10: примеры (JAVASCRIPT)

Десятичный логарифм в JavaScript: Math.log10()
Раздел: Математика, Логарифмы
log10(number): number

Функция Math.log10()

Функция Math.log10() возвращает десятичный логарифм (логарифм по основанию 10) переданного числа. Эта функция часто применяется в научных расчетах, обработке сигналов, анализе данных и алгоритмах, где требуется логарифмическая шкала.

Синтаксис: Math.log10(x)

Аргументы:

  • x - число, для которого вычисляется десятичный логарифм. Должно быть положительным числом (больше 0).

Возвращаемое значение:

  • Десятичный логарифм числа x (log₁₀ x)
  • NaN (Not-a-Number), если x меньше 0
  • NaN, если x равно 0 (предел стремится к -∞)
  • NaN, если x не является числом или не может быть преобразовано в число
  • -Infinity для значений, очень близких к 0 с положительной стороны

Базовые примеры использования

Пример вычисления десятичного логарифма для разных значений:

console.log(Math.log10(100));
console.log(Math.log10(1000));
console.log(Math.log10(1));
console.log(Math.log10(0.1));
2
3
0
-1

Примеры с особыми значениями:

console.log(Math.log10(-5));
console.log(Math.log10(0));
console.log(Math.log10("100"));
console.log(Math.log10("abc"));
NaN
-Infinity
2
NaN

Похожие функции в JavaScript

Math.log() - натуральный логарифм (по основанию e). Используется в математическом анализе и непрерывных процессах.

Math.log2() - двоичный логарифм (по основанию 2). Применяется в информатике, алгоритмах и компьютерных науках.

Выбор функции зависит от контекста: Math.log10() оптимален для работы с десятичными системами и порядками величин, Math.log2() - для битовых операций, Math.log() - для естественных процессов.

Аналоги в других языках программирования

Python: math.log10(x) из модуля math

import math
print(math.log10(100))  # 2.0

PHP: log10($x)

echo log10(100);  // 2

MySQL: LOG10(x)

SELECT LOG10(100);  -- 2

C/C++: log10(x) из math.h

#include 
double result = log10(100.0);  // 2.0

Основные отличия: в Python возвращает float даже для целых чисел, в C требуется подключение библиотеки.

Типичные ошибки

Передача отрицательных чисел или нуля:

console.log(Math.log10(-1));  // NaN
console.log(Math.log10(0));   // -Infinity

Некорректное преобразование типов:

console.log(Math.log10(""));      // -Infinity (пустая строка = 0)
console.log(Math.log10(null));    // -Infinity (null = 0)
console.log(Math.log10(undefined)); // NaN

Ожидание целых чисел для дробных результатов:

console.log(Math.log10(50));  // 1.6989700043360187

Изменения в последних версиях

Функция Math.log10() была добавлена в спецификацию ECMAScript 2015 (ES6). В более ранних версиях JavaScript для получения десятичного логарифма использовалось выражение Math.log(x) / Math.LN10.

Современные браузеры и среды выполнения (Node.js) полностью поддерживают эту функцию с 2015 года. Полифиллы для старых сред:

if (!Math.log10) {
  Math.log10 = function(x) {
    return Math.log(x) * Math.LOG10E;
  };
}

Расширенные примеры применения

Определение порядка числа (количество цифр в целой части):

Пример javascript
function getOrderOfMagnitude(num) {
  return Math.floor(Math.log10(num));
}
console.log(getOrderOfMagnitude(12345));  // 4

Преобразование линейной шкалы в децибелы:

Пример javascript
function toDecibels(amplitudeRatio) {
  return 20 * Math.log10(amplitudeRatio);
}
console.log(toDecibels(2));  // 6.020599913279624

Вычисление pH раствора (отрицательный десятичный логарифм концентрации ионов):

Пример javascript
function calculatePH(hydrogenIonConcentration) {
  return -Math.log10(hydrogenIonConcentration);
}
console.log(calculatePH(0.001));  // 3

Анализ данных с логарифмическим масштабированием:

Пример javascript
const data = [1, 10, 100, 1000, 10000];
const logScaled = data.map(x => Math.log10(x));
console.log(logScaled);  // [0, 1, 2, 3, 4]

Проверка является ли число степенью 10:

Пример javascript
function isPowerOfTen(num) {
  const log = Math.log10(num);
  return Math.abs(log - Math.round(log)) < 1e-10;
}
console.log(isPowerOfTen(1000));  // true
console.log(isPowerOfTen(999));   // false

JS log10 function comments

En
Log10 Returns the base 10 logarithm of a number