itoa(), _itoa()

convert a binary integer to a string, in a given base


#include <stdlib.h>

char *itoa( int value, char *buffer, 
            int radix );
char *_itoa( int value, char *buffer, 
             int radix );


The itoa() function converts the binary integer value into the equivalent string in base radix notation, storing the result in the character array pointed to by buffer. A null character is appended to the result.

The size of buffer must be at least (8 * sizeof(int) + 1) bytes when converting values in base 2. That makes the size 17 bytes on 16-bit machines, and 33 bytes on 32-bit machines. The value of radix must satisfy the condition

    2 <= radix <= 36

If the value of radix is 10, and value is negative, then a minus sign is prepended to the result.

The _itoa() function is identical to itoa(). Use _itoa() for ANSI/ISO naming conventions.


A pointer to the result.


#include <stdio.h>
#include <stdlib.h>

void main()
    char buffer[20];
    int base;

    for( base = 2; base <= 16; base = base + 2 )
      printf( "%2d %s\n", base,
          itoa( 12765, buffer, base ) );

produces the output

 2 11000111011101
 4 3013131
 6 135033
 8 30735
10 12765
12 7479
14 491b
16 31dd



_itoa() conforms to ANSI/ISO naming conventions.

Interrupt handler No
Signal handler Yes
Thread Yes

See also:

atoi(), atol(), ltoa(), sscanf(), strtol(), strtoul(), ultoa(), utoa()