MASSIVE EDIT:C - Konwersja int długi ciąg szesnastkowy do podpisanego
mam long int zmienna, że trzeba konwertować do podpisanego ciąg 24bit szesnastkowym bez „0x” na początku. Łańcuch musi składać się z 6 znaków, po których następuje terminator znaków "\ 0", dlatego konieczne jest dodanie zer wiodących.
Przykłady: [-1 -> FFFFFF] --- [1 -> 000001] --- [71 -> 000047]
odpowiedzi Wydaje się lewę:
long int number = 37;
char string[7];
snprintf (string, 7, "%lX", number);
Aby wyjaśnić, co masz na myśli przez podpisany hex, np. do czego ma zostać przeliczone -1? –
FFFFFF (jeśli dokonałem konwersji: s) – Cheetah
OK, wygląda na to, że konwersja ma wartość unsigned long i drukowanie niepodpisanego numeru heksadecymalnego. –