forked from KolibriOS/kolibrios
26 lines
543 B
C
26 lines
543 B
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <ctype.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
/*
|
||
|
** itoab(n,s,b) - Convert "unsigned" n to characters in s using base b.
|
||
|
** NOTE: This is a non-standard function.
|
||
|
*/
|
||
|
char* itoab(unsigned int n, char* s, int b)
|
||
|
{
|
||
|
char *ptr;
|
||
|
int lowbit;
|
||
|
ptr = s;
|
||
|
b >>= 1;
|
||
|
do {
|
||
|
lowbit = n & 1;
|
||
|
n = (n >> 1) & 0x7FFFFFFF;
|
||
|
*ptr = ((n % b) << 1) + lowbit;
|
||
|
if(*ptr < 10) *ptr += '0'; else *ptr += 55;
|
||
|
++ptr;
|
||
|
} while(n /= b);
|
||
|
*ptr = 0;
|
||
|
return strrev(s);
|
||
|
}
|