1,105,585 Community Members

Find the logrithm of a real number

Member Avatar
Reputation Points: 76 [?]
Q&As Helped to Solve: 46 [?]
Skill Endorsements: 0 [?]
 
0
 

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;
}
Member Avatar
ddanbe
Posting Expert
5,355 posts since Oct 2008
Reputation Points: 2,066 [?]
Q&As Helped to Solve: 908 [?]
Skill Endorsements: 46 [?]
Featured
 
0
 

Very nice!

You
Post:
Start New Discussion
Tags Related to this Article