Buenas tardes, les consulto sobre una linea de un prgrama, estoy aprendiendo programacion pero me falta mucho jeje.
Mi consulta que también les puede sacar dudas a otros usuarios:
Time[6] = hours / 10 + '0'; // Guardamos las decenas de la variable "hours" en la posición 6 del arreglo "Time".
Time[7] = hours % 10 + '0'; // Guardamos las unidades de la variable "hours" en la posición 7 del arreglo "Time".
Para que le suma "+'0' " que tambien lo vi en otro programas tambien.
Saludos espero no molestar
Yo entendería que le sumas '0' es porque lo conviertes es ASCII. Me explico:
Digamos que tienes en hours 13 (decimal)
Por lo tanto qne Time[6] tendrías 1 y en Time[7] tendrías 3.
Pero muchas veces para representar un número en una pantalla, o en algún otro medio, necesitas mostrar su valor en ASCII.
El ASCII del número 0 es 0x30, del número 1 es 0x31, del número 2 es 0x32, etc., hasta llegar a 9 que es 0x39.
Entonces para convertir a ASCII el 1 y al 3, deberías sumarle 0x30, de esa mañería tendrías 0x31 y 0x33
Es decir sería así:
Time[6] = hours / 10 + 0x30 // Guardamos las decenas de la variable "hours" en la posición 6 del arreglo "Time".
Time[7] = hours % 10 + 0x30;
Si no deseas escribir 0x30, puedes representarlo como carácter en ASCII, Es decir '0'. '0' es lo mismo que 0x30, '1' es lo mismo que 0x31, etc.