Entero a 16 hexadecimal

Los números enteros no importan 10 o 16, todos son binarios en la máquina.

int i = 0x0b and int I = 11; todo en la máquina dice lo mismo.

Si desea convertir un número de base 10 en un número de base 16 descrito por caracteres, use sprintf, por ejemplo:

int I = 11;

cadena de caracteres[ 20];

sprintf(cadena, " %02X ", I

printf("%s ", cadena

);