Преобразовать целое число в шестнадцатеричное

Мне просто нужно преобразовать целое число в шестнадцатеричное. На самом деле у меня есть массив символов, в котором я храню шестнадцатеричные значения.

int var; var=[self getValue]; char hexValues[5]; hexValues[0]= 0x02; hexValues[1]= 0x04; hexValues[2]= [self getHexFromInt:var]; 

Теперь я думаю, что getHexFromInt() возвращает значение hex int эквивалентное принятому десятичному "var" . Он не будет содержать формат 0x .. Вот почему я думаю, что char array примет его как обычный символ. Поэтому, пожалуйста, предложите мне, как я могу вернуть символ в формате "0x ..» из getHexFromInt() .

шестнадцатеричное значение – целое значение

hexadecimal – это всего лишь способ отображения целого числа.

если вы хотите создать строку, которая представляет собой шестнадцатеричное представление целого числа, вы можете пойти:

 char hexStr[20]; sprintf(hexStr,"0x%x",var); 

вы также можете ввести число с нулями, если хотите, перейдя на% 0 (общее количество желаемых цифр) x

например:

 int var = 0x123; sprintf(hexStr,"0x%08x",var); 

приведет к тому, что hexStr будет заполнен «0x00000123»