Мне нужно преобразовать десятичные числа в четырехзначные шестнадцатеричные числа в нижнем регистре с префиксом 0x . "% X" достаточно, но это не совсем то, что я хочу.
printf("hex num is: %X\n", num);
Полагаю, вам нужно либо 0x%04x, либо %#06x.
0x%04x
%#06x
%x означает гекс в нижнем регистре. 0 означает заполнение нулями, если оно короче указанного числа цифр. 4 или 6 указывает желаемую ширину. # означает 0x префикс.
%x
0
4
6
#
0x
Является ли printf("hex num is : 0x%.4x\n", num); тем, что вы хотите?
printf("hex num is : 0x%.4x\n", num);
Использование printf("hex num is : 0x%x\n", num);.
printf("hex num is : 0x%x\n", num);