Поделиться через


log, logf, log10, log10f

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

double log(
   double x 
);
float log(
   float x
);  // C++ only
long double log(
   long double x
);  // C++ only
float logf(
   float x 
);
double log10(
   double x
);
float log10(
   float x
);  // C++ only
long double log10(
   long double x
);  // C++ only
float log10f (
   float x
);

Параметры

  • x
    Значение логарифм которого необходимо найти.

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

Log функции возвращают натуральный логарифм (основание д) x если операция завершилась успешно.Функции log10 возвращает десятичный логарифм.If x отрицательные, эти функции возвращают неопределенное по умолчанию.If x возвращает 0, INF (бесконечные).

Ввод

ЭТО исключение

Исключение Matherr

± QNAN - IND

нет

_DOMAIN

± 0

ZERODIVIDE

_SING

x < 0

НЕДОПУСТИМО

_DOMAIN

log и log10 содержит реализацию потоковой передачи, которая использует расширения SIMD (SSE2 2).См. _set_SSE2_enable дополнительные сведения и ограничения в пользовании реализация SSE2.

Заметки

C++ позволяет перегружать, поэтому можно вызвать перегрузки log и log10.В программе c log и log10 всегда принимайте и возвращайте double.

Требования

Процедура

Обязательный заголовок

log" logf" log10" log10f

<math.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Библиотеки

Все версии Библиотеки времени выполнения C.

Пример

// crt_log.c
/* This program uses log and log10
 * to calculate the natural logarithm and
 * the base-10 logarithm of 9,000.
 */

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 9000.0;
   double y;

   y = log( x );
   printf( "log( %.2f ) = %f\n", x, y );
   y = log10( x );
   printf( "log10( %.2f ) = %f\n", x, y );
}

Output

log( 9000.00 ) = 9.104980
log10( 9000.00 ) = 3.954243

Для создания логарифмов для других базовых объектов, используйте математические ссылка. регистрация основной б в журнал == естественных (a) и естественных журнала (b).

// logbase.cpp
#include <math.h>
#include <stdio.h>

double logbase(double a, double base)
{
   return log(a) / log(base);
}

int main()
{
   double x = 65536;
   double result;

   result = logbase(x, 2);
   printf("Log base 2 of %lf is %lf\n", x, result);
}

Output

Log base 2 of 65536.000000 is 16.000000

Эквивалент в .NET Framework

См. также

Ссылки

Поддержка чисел с плавающей запятой

exp, expf

_matherr

плен, powf

_CIlog

_CIlog10