Public feed #722220

Stuff

public text v1 · immutable
Raw Edit
·published 2007-10-01 21:04 UTC
rendered paste body
unsigned short getNumDigits(unsigned long l, unsigned char base)
{
  return (1 + floor(log10(l) / log10(base)));
}

char* longToCharBased(unsigned long l, unsigned char base)
{
  unsigned short dig_num = getNumDigits(l, base);
  unsigned long res = l, mod = 0;
  char buf[dig_num+1];
  buf[dig_num] = 0;

  while( res != mod )
  {
    --dig_num;
    buf[dig_num] = res % base;
    res = res / base;
    if(buf[dig_num] < 10)
      buf[dig_num] += DIGIT_SHIFT;
    else
      buf[dig_num] += UPPER_SHIFT;
  }

  printf("Converting: (%ld)base10 to (%s)base%u \n", l, (char*)buf, base);
  char* o = (char*) buf;
  return o;
}

-----
usage: longToCharBased(151515,16)