Tengo el siguiente codigo
#include <stdio.h>
#include <stdlib.h>
int main()
{
char d='7';
printf("%d%d",(((d-'0')*2)/10),(((d-'0')*2)%10));
return 0;
}
Lo que no entiendo es porque es posible realizar operaciones matematicas si es que el 7 ingresado no es un numero, si no que es el caracter 7 y esta ingresado como char...Creo que me falta algo de concepto para entenderlo.
porque a nivel de codigo un char es un sistema de 8 bits que se representa como letra visualmente... pero al ser binario puede ser usado como numero, solo que '7' no representará el numero 7 sino la posición de el simbolo '7' en la tabla ascii que sería 55
Y si cambio el '7' y pongo una 'a'...porque el resultado da 98?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char d='a';
printf("%d%d",(((d-'0')*2)/10),(((d-'0')*2)%10));
return 0;
}
es más facil que simplifiques el codigo y dejes
printf("%d",d);
y compares con una tabla ascii
(http://www.webtutoriales.com/tutoriales/images/2/content_tabla_ascii.gif)
Cita de: engel lex en 20 Febrero 2017, 01:12 AM
es más facil que simplifiques el codigo y dejes
printf("%d",d);
y compares con una tabla ascii
(http://www.webtutoriales.com/tutoriales/images/2/content_tabla_ascii.gif)
Hola, gracias ya lo entendi!!...estaba confundido porque pense que los numeros empezaban en el 0 en la ascii,...pero empiezan en el 48. :silbar:..y como igualmente el resultado del ejercicio que estaba haciendo me estaba dando bien en ese caso me estaba confundiendo.