Rev 6412 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6412 | Rev 6443 | ||
---|---|---|---|
Line 5... | Line 5... | ||
5 | 5 | ||
6 | /* |
6 | /* |
7 | ** itoab(n,s,b) - Convert "unsigned" n to characters in s using base b. |
7 | ** itoab(n,s,b) - Convert "unsigned" n to characters in s using base b. |
8 | ** NOTE: This is a non-standard function. |
8 | ** NOTE: This is a non-standard function. |
9 | */ |
9 | */ |
10 | char* itoab(int n,char* s,int b) |
10 | char* itoab(unsigned int n, char* s, int b) |
11 | { |
11 | { |
12 | char *ptr; |
12 | char *ptr; |
13 | int lowbit; |
13 | int lowbit; |
14 | ptr = s; |
14 | ptr = s; |
15 | b >>= 1; |
15 | b >>= 1; |
16 | do { |
16 | do { |
17 | lowbit = n & 1; |
17 | lowbit = n & 1; |
18 | n = (n >> 1) & 32767; |
18 | n = (n >> 1) & 0x7FFFFFFF; |
19 | *ptr = ((n % b) << 1) + lowbit; |
19 | *ptr = ((n % b) << 1) + lowbit; |
20 | if(*ptr < 10) *ptr += '0'; else *ptr += 55; |
20 | if(*ptr < 10) *ptr += '0'; else *ptr += 55; |
21 | ++ptr; |
21 | ++ptr; |
22 | } while(n /= b); |
22 | } while(n /= b); |