Arduino Core API Library besed on mbed platform.
Dependents: WeeESP8266 ESP8266_moj
itoas.cpp
- Committer:
- itead
- Date:
- 2015-02-06
- Revision:
- 1:2179048af332
- Parent:
- 0:5ebc917ebd09
File content as of revision 1:2179048af332:
#include "itoas.h" char* ltoa( long value, char *string, int radix ) { char tmp[33]; char *tp = tmp; long i; unsigned long v; int sign; char *sp; if ( string == NULL ) { return 0 ; } if (radix > 36 || radix <= 1) { return 0 ; } sign = (radix == 10 && value < 0); if (sign) { v = -value; } else { v = (unsigned long)value; } while (v || tp == tmp) { i = v % radix; v = v / radix; if (i < 10) *tp++ = i+'0'; else *tp++ = i + 'a' - 10; } sp = string; if (sign) *sp++ = '-'; while (tp > tmp) *sp++ = *--tp; *sp = 0; return string; } char* ultoa( unsigned long value, char *string, int radix ) { char tmp[33]; char *tp = tmp; long i; unsigned long v = value; char *sp; if ( string == NULL ) { return 0; } if (radix > 36 || radix <= 1) { return 0; } while (v || tp == tmp) { i = v % radix; v = v / radix; if (i < 10) *tp++ = i+'0'; else *tp++ = i + 'a' - 10; } sp = string; while (tp > tmp) *sp++ = *--tp; *sp = 0; return string; } char* itoa( int value, char *string, int radix ) { return ltoa( value, string, radix ) ; } char* utoa( unsigned long value, char *string, int radix ) { return ultoa( value, string, radix ) ; }