Cita:
Iniciado por Julio2005 Necesito una rutina que me transforme una cadena de caracteres a numeros Hexadecimales Ejemplo:
yo intruduzco: hola
y la rutina me devuelve: 68 6f 6c 61
Gracias por favor ayudenme soy nuevo en esto.
No te voy a escribir el código,eso lo haces tu.
Pero te voy a explicar como debería de ser el algoritmo.
Puedes convertir de cualquier base a otra dividiendolo por la base a convertir, y recuperando el resto de la division siempre y cuando sea mayor que la base que vayas a dividir, y recogiendo los valores en sentido inverso a las divisiones que hagas. Ejemplo:
El caracter 'h' es en decimal el 104 y en hexadecimal 68
104/16 = 6'5 , la parte entera es 6
resto = 8
Esto es igual a 68
El carater 'o' es en decimal el 111 en hexadecinak ek 6F
111/16 = 6,.....
resto = 15
Aqui puedes montar un vector de caracteres con todos los numeros o solo las letras....
Es decir, {'A','B','C','D','E','F'}
Y si es mayor que 9, que es el caso , le restas 10 y obtienes de la posicion del vector la posicion correspondiente.
vector[15-10]; ....---> esto te dara la letra F
Al final se queda 6F
Asi sucesivamente hasta completar la palabra.
Esto es el algoritmo sencillo y la base de la conversion. Luego pon de tu ingenio para mejorar o encontrar mejores soluciones.
Un saludo.