Itoa

pari
char *  itoa (int value, char * result , int base)

Funkcja jako argument pobiera liczbę typu int (value), którą skonwertuje na podstawie bazy liczbowej (2<=base<=36) do łańcucha znakowego przekazanego przez wskaźnik (result). Funkcja zwraca wskaźnik z tym samym adresem, który przypisała drugiemu argumentowi. Przykładowe bazy liczbowe:

  • 2 - dwójkowy system liczbowy
  • 8 - ósemkowy system liczbowy
  • 16 - szesnastkowy system liczbowy

    Przykład

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

int main()
{
printf("Wpisz liczbę: ");
int value;
scanf ("%d",&value);

 char result[100];
 itoa (value, result, 2); // system binarny
 printf ("binernie: %s\n", result);
 itoa (value, result, 8); // system ósemkowy
 printf ("ósemkowo: %s\n", result);
 itoa (value, result, 16); // system szesnastkowy
 printf ("szesnastkowo: %x\n", result);

 system ("pause");
 exit (EXIT_SUCCESS);

}

7 komentarzy

Warto zauważyć, że powyższe zastosowanie do konwersji na zadaną bazę liczbową nie jest zgodna z ANSI C. Chcąc robiąc to zgodnie z ANSI możecie spróbować funkcji fprintf(...)

Teraz jest OK

Qyon: e, czemu przywróciłeś pierwszą wersję?

a no faktycznie

"WOW" była pierwsza wersja, teraz jest normalnie.

co w tym takiego "wow"?