Hoy veremos la operación inversa a convertir un char a un entero en C, es decir, convertir un número entero a su representación en carácter. Por ejemplo, convertir 1 a ‘1’.
Esta conversión no funciona para números mayores a 9, porque ya no tienen un único dígito; para ello mejor podemos ver cómo convertir un número a cadena en C, en lugar de convertirlo a char.
Pero bueno, vamos allá y veamos cómo convertir un dígito entero a carácter en C.
Int a char en C
Si ya viste el otro post en donde convertimos un carácter a un entero, sabrás que hacíamos una resta con los números ASCII, porque un carácter se representa también como un entero en esa tabla.
Por ejemplo, el carácter A tiene el número 97 en el código ASCII.
Partiendo de eso, si tenemos un entero, por ejemplo el 1, su representación en el ASCII es el 49, el número 2 tiene el 50 y así sucesivamente.
Entonces para convertir un entero a un carácter, simplemente le sumamos 48, o un ‘0’, el cual es 48 en el ASCII.
Así, si tenemos el número 1 entero y le sumamos 48, se convierte en 49. ¿Y cuál valor representa el 49 en el código ASCII? exacto, el ‘1’. Entonces convertimos 1 a ‘1’, y funciona para cualquier otro número siempre y cuando no sea mayor a 9.
Función que convierte un entero a carácter en C
Esta función es simple, de hecho podríamos hacer la conversión sin funciones, pues el código no es largo, pero por simplicidad la escribo aquí:
Recibe un entero, devuelve un carácter. Si le mandas un número mayor a 9 no sé qué pase, pero no será nada bueno.
Probar conversión de int a char
Para implementar esa función usa este código:
Recuerda que puedes ver la operación inversa: char a int en C.