tengo un codigo que convierte un numero decimal en hexadecimal(siempre tiene que ser decimal-hexadecimal), el programa funciona bien el problema es que una vez que tengo el número hexa tengo que hacer que sea de dos bytes, o sea vendrían siendo 4 digitos como por ejemplo
numero decimal hexadecimal hexadecimal 2 bytes
33 21 0021
y no se como concatenarle los dos ceros al principio, pense en usar un strcat pero no funciono, creaba otra variable *cadena, y despues de asignarle memoria la inicializaba con: "0", y después le concatenaba la cadena "21" para que me quedara "021".
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> char convertirHexadecimal(int residuo); int main() { char num_hex,*cadena,c[2],*hexadecimal; int numero = 33,cociente,residuo,i; for(cociente = numero;cociente > 0;cociente/=16) { residuo = cociente % 16; num_hex = convertirHexadecimal(residuo); } strrev(cadena); return 0; } char convertirHexadecimal(int residuo) { char letra; switch(residuo) { case 10: letra = 'A'; break; case 11: letra = 'B'; break; case 12: letra = 'C'; break; case 13: letra = 'D'; break; case 14: letra = 'E'; break; case 15: letra = 'F'; break; default: letra = '0' + residuo; } return letra; }