int atoi(const char *nptr)
long atol(const char *nptr)
long long atoll(const char *nptr)
long long atoq(const char *nptr)
linux下面没对应的好像,我man 没有查到.
给你直接找到一个实现,你放到自己代码里面就可以了
void itoa ( unsigned long val, char *buf, unsigned radix )
{
char *p/* pointer to traverse string */
char *firstdig /* pointer to first digit */
char temp/* temp char */
unsigned digval/* value of digit */
p = buf
firstdig = p /* save pointer to first digit */
do {
digval = (unsigned) (val % radix)
val /= radix /* get next digit */
/* convert to ascii and store */
if (digval > 9)
*p++ = (char ) (digval - 10 + 'a ')/* a letter */
else
*p++ = (char ) (digval + '0 ') /* a digit */
} while (val > 0)
/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */
*p-- = '\0 '/* terminate string p points to last digit */
do {
temp = *p
*p = *firstdig
*firstdig = temp /* swap *p and *firstdig */
--p
++firstdig /* advance to next two digits */
} while (firstdig < p) /* repeat until halfway */
}
连续除以2,让余数倒排即可,我写了个输出成int的,只不过这个int是二进制而已,你可以参考
int to2(int n){
int r=0
int shang,yushu
shang=n
while(shang!=0)
{
yushu=shang%2
r=r*10+yushu
shang=shang/2
}
return r
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)