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);
}
 




Kategoria: C » Cstdlib

7 komentarzy

Brak avatara
Napisany 2008-05-06 22:13 przez foo-script

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(...)

Brak avatara
Napisany 2007-06-12 19:49 przez jrCoder

Teraz jest OK

Avatar: Coldpeer
Napisany 2007-06-12 12:23 przez Coldpeer

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

Avatar: Coldpeer
Napisany 2007-06-11 18:37 przez Coldpeer

a no faktycznie

Brak avatara
Napisany 2007-06-11 17:11 przez jrCoder

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

Avatar: Coldpeer
Napisany 2007-06-11 15:44 przez Coldpeer

co w tym takiego "wow"?

Avatar: bordeux
Napisany 2007-06-11 08:47 przez bordeux

WOW :)

4programmers.net