我想分析代码的复杂性,当我看到itoa()函数调用时,我认为它是恒定时间还是通过%和/运算符将其转换为字符串。(我想将整数转换为其二进制数字符串)。
int i;
char buffer [33];
printf("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10); //1st
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16); //2nd
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2); //3rd
printf ("binary: %s\n",buffer);
答案 0 :(得分:0)
可在此处找到源代码:
https://en.wikibooks.org/wiki/C_Programming/stdlib.h/itoa
似乎正在执行标准的mod div方法。另外,外部链接之一在页面底部提供了一些相对的性能基准: