在C ++中使用itoa()函数将整数转换为字符串的时间复杂度?

时间:2019-07-23 19:08:41

标签: c++

我想分析代码的复杂性,当我看到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);

1 个答案:

答案 0 :(得分:0)

可在此处找到源代码:

https://en.wikibooks.org/wiki/C_Programming/stdlib.h/itoa

似乎正在执行标准的mod div方法。另外,外部链接之一在页面底部提供了一些相对的性能基准:

http://www.strudel.org.uk/itoa/