sleepdefic1t
9/14/2018 - 8:37 AM

unsigned long long with base to String

unsigned long long with base to String

std::string toString(unsigned long long n, uint8_t base)
{
  unsigned char buf[16 * sizeof(long)]; // Assumes 8-bit chars. 
  unsigned long long i = 0;  
  if (n == 0) { return "0"; };

  while (n > 0) {
    buf[i++] = n % base;
    n /= base;
  }
  
  std::string stringBuffer;
  for (; i > 0; i--) {
    stringBuffer += (
      buf[i - 1] < 10
        ? '0' + buf[i - 1]
        : 'A' + buf[i - 1] - 10
     );
  };
  return stringBuffer;
}