У меня в одной программе была примерно такая функция
Код: Выделить всё
void parseUint(uint16_t val, uint8_t count, char* buffer)
{
while(count>0)
{
uint16_t order=0;
switch(count)
{
case 1: order=1; break;
case 2: order=10; break;
case 3: order=100; break;
case 4: order=1000; break;
case 5: order=10000; break;
}
if(!order) return;
char i=0;
while(order<=val)
{
val-=order;
i++;
}
*buffer=i;
buffer++;
count--;
}
}


