This is not the fastest way and not the one that used inside the
calculators and even inside the C++ math library. But this is
just another way to find logrithm of base 10.

/*
* Finds a logirhm of a give input real
*
*
*/
#include <iostream>
using std::cout ;
using std::endl;
double FindLogirthm ( double x )
{
int n =0 ;
int array [100];
while ( x >= 10 )
{
x = x /10;
n++;
}
for ( int k = 0 ; k < 100 ; k++)
{
// if ( x == 1 )
// break;
if ( x*x >= 10)
{
array[k] = 1;
x = x*x /10 ;
}
else
{
array[k]=0;
x = x*x;
}
}
// conver that n value and array of binary places to
// double.
double output = n;
double factor = 0.5;
for ( int k = 0 ; k < 100 ; k++, factor/= 2 )
{
if ( array[k]== 1)
{
output += factor;
}
}
return output ;
}
int main( )
{
cout << " Logirithm of 254.23 is " << FindLogirthm ( 254.23) << endl;
return 0;
}