home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / text / misc / cvt / source / numdigits.c < prev    next >
C/C++ Source or Header  |  1994-08-10  |  606b  |  42 lines

  1. /*
  2.  *  NUMDIGITS.C
  3.  *
  4.  *  (c)Copyright 1989 by Tobias Ferber,  All Rights Reserved
  5.  */
  6.  
  7. /* $Id$ */
  8.  
  9. long numdigits(v,b)
  10. long v,b;
  11. /* computes the maximum #of digits needed to express given value 'v' in
  12.  * a notation with base 'b' */
  13. {
  14.   long r;   /* remainer */
  15.   long n=0; /* #of digits */
  16.  
  17.   if(b>0)
  18.     for(r=v; r>0; r/=b, n++) ;
  19.  
  20.   return n;
  21. }
  22.  
  23.  
  24. #ifdef TEST
  25. main(int ac, char **av)
  26. {
  27.   if(ac<3)
  28.     puts("usage: NUMDIGITS <value> <base>");
  29.  
  30.   else
  31.   {
  32.     long v,b;
  33.  
  34.     v= atol(av[1]);
  35.     b= atol(av[2]);
  36.  
  37.     printf("numdigits(%ld,%ld)= %ld", v,b,numdigits(v,b));
  38.   }
  39.   exit(0);
  40. }
  41. #endif /* TEST */
  42.