Investigacion
Existen reglas que rigen estas conversiones, y aunque pueden cambiar ligeramente de un compilador a otro, en general serán más o menos así:
1.-Cualquier tipo enteropequeño como char o short es convertido a int o unsigned int. En este punto cualquier pareja de operandos será int (con o sin signo), long, long long, double, float o long double.
2.-Si un operando es detipo long double, el otro se convertirá a long double.
3.-Si un operando es de tipo double, el otro se convertirá a double.
4.-Si un operando es de tipo float, el otro se convertirá a float.5.-Si un operando es de tipo unsigned long long, el otro se convertirá a unsigned long long.
6.-Si un operando es de tipo long long, el otro se convertirá a long long.
7.-Si un operando es detipo unsigned long, el otro se convertirá a unsigned long.
8.-Si un operando es de tipo long, el otro se convertirá a long.
9.-Si un operando es de tipo unsigned int, el otro se convertirá aunsigned int.
10.-Llegados a este punto ambos operandos son int.
Prefijos.
-Constantes float.
Del mismo modo, existe una notación especial para las constantes en punto flotante. En este casoconsiste en añadir ".0" a aquellas constantes que puedan interpretarse como enteras.
Se puede usar el sufijo "f". En ese caso, se tratará de constantes en precisión sencilla, es decir float.-Constantes double.
Por defecto, si no se usa el sufijo, el compilador tratará las constantes en precisión doble, es decir double.
-Constantes long double.
Si se usa el sufijo "L" se tratará de constantesen precisión máxima, es decir long double.
-Constantes enteras.
En general podemos combinar los prefijos "0" y "0x" con los sufijos "L", "U", y "UL".
Aunque es indiferente usar los sufijos enmayúsculas o minúsculas, es preferible usar mayúsculas, sobre todo con la "L", ya que la 'l' minúscula puede confundirse con un uno '1'.
-Constantes en punto flotante.
Ya hemos visto que...
Regístrate para leer el documento completo.