[ Foro de C ]

Conversion ASCCII A DECIMAL

18-Jan-2022 15:29
Invitado (Nacho)
1 Respuestas

Necesito saber como convertir un dato de ASCCI  a decimal.
Utilicé la siguiente funcion para pasarlo a ASCII y ahora necesito cual seria la funcion para poder volver a convertirlo a decimal.


void num_char3(uint8_t num)
{
if (num == 0) {
temTx[0] = '0';
temTx[1] = '\0';
temTx[2] = '\0';
temTx[3] = '1';
}
i = 1;
while (num != 0)
{
temTx[i--] = (num % 10) + 0x30; num = num / 10;
temTx[2] = '\0';
}
}


Gracias!


19-Jan-2022 13:43
Nacho Cabanes (+84)

No entiendo lo que estás haciendo. Para convertir un dato numérico del 0 a 255 a su equivalente como (un único) carácter según el código ASCII, basta con un forzado de tipos.

Pon un ejemplo de qué esperas obtener a partir de qué datos de entrada, porque parece que no estás convirtiendo a ASCII ese número, sino hallando la representación como cadena de no más de 3 caracteres a partir de un número (y de forma desconcertante, porque la última posición debería ser \0, en vez de un 1). Es decir, parece que quieres, de algo 234, obtener "234\0".

¿En ese caso, quieres pasar de un "234\0", quizá con menos de 3 cifras, a un número como 234?






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)