atoi
uint16_t Atoi(unsigned char* str)
{
uint16_t nSign = 0, nSum = 0;
if(*str == '-' || *str >= '0' && *str <= '9')
{
if(*str == '-')
{
nSign = 1;
str++;
}
while(*str >= '0' && *str <= '9')
{
nSum = (nSum * 10) + (*str - '0');
str++;
}
if(nSign)
return -nSum;
else
return nSum;
}
else
return 0;
}
itoa
unsigned char * Itoa(uint16_t s_value, uint16_t s_radix)
{
static const char c_base_ascii[] = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 'A', 'B', 'C', 'D', 'E', 'F'};
static unsigned char s_buffer[ 64 ] = {0, };
uint16_t s_offset = sizeof(s_buffer) - 1;
do {
s_buffer[--s_offset] = c_base_ascii[ s_value % s_radix ];
s_value /= s_radix;
}while(s_value != 0u);
return((unsigned char *)(&s_buffer[s_offset]));
}
'Development > C/C++' 카테고리의 다른 글
[고급 매크로 표현식] (0) | 2014.04.22 |
---|---|
[Static Assert] (0) | 2014.04.16 |
[scanf에서 공백을 포함한 문자열을 받는 방법] (0) | 2014.02.09 |
[objdump in linux] (0) | 2014.01.15 |
[vim에서 hexedit하기, hex비교하기] (0) | 2014.01.15 |