I am making may way through all the different functions in
the various standard header files that form part of C and C++. I’m still
working on the contents of the <math.h>
or <cmath> header files.
Today is about the natural logarithmic functions.

Even though I can’t see myself using these functions, I
think it’s important to understand what they do. It’s just part of
understanding the limits of the language.

Here’s a brief primer on

*e*and the exp and log functions in C.
A graph of e to the xth power as a function of x.

Here is a snippet from the C standard (C99 N1244).

The exp(n) function returns a float equal to e to the nth
power. The log
function reverses the process and returns n for a given value of e to the nth
power.

**Test Code.**

I wrote some sample code to test the functions. No unexpected
results.

C often uses ++n to increment a counter. It’s
shorter version of n = n + 1. But I wanted to increment by 0.5. I could
use n
= n + 0.5, but C programmers prefer to use: n += 0.5.

Also note in the for loop I assigned -5.0 to n,
not -5.
One is a float, the other an integer and n was declared as a float.

// The
standard library includes the system function.

#include <cstdlib>

// C++
standard I/O library.

#include <cstdio>

// C++
math library.

#include <cmath>

int main()

{

float n;

// Header.

printf("Exponential
& Logarithmic Functions\n\n");

printf("n\t exp(n) \t log(exp(n)) \n\n");

// Sample calcs.

for (n =
-5.0; n < 6; n += 0.5)

printf("%5.2f\t%10.6f\t%10.6f\n",
n, exp(n), log(exp(n)));

// Keep console
window open.

system("pause");

// Return some
value.

return 0;

} // end main

**Output.**

## No comments:

## Post a Comment