Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
log, logf, log10, log10f

log, logf, log10, log10f

Calculates logarithms.

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
);

Parameter

x
Value whose logarithm is to be found.

Return Value

The log functions return the logarithm of x if successful. If x is negative, these functions return an indefinite, by default. If x is 0, they return INF (infinite).

Input SEH Exception Matherr Exception
± QNAN,IND none _DOMAIN
± 0 ZERODIVIDE _SING
x < 0 INVALID _DOMAIN

log and log10 has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.

Remarks

C++ allows overloading, so you can call overloads of log and log10. In a C program, log and log10 always take and return a double.

Requirements

Routine Required header Compatibility
log, logf, log10, log10f <math.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// 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

See Also

Floating-Point Support Routines | exp | _matherr | pow | Run-Time Routines and .NET Framework Equivalents

Show:
© 2015 Microsoft