conversiones de tipo
Tabla de Conversión de Tipos de Datos Primitivos
Tipo destino
boolean
char
byte
short
int
long
float
double
boolean
-N
N
N
N
N
N
N
char
N
-
C
C
Cl
Cl
Cl
Cl
byte
N
C
-
CI
Cl
Cl
Cl
Cl
short
N
C
C
-
Cl
Cl
Cl
Cl
intN
C
C
C
-
Cl
Cl*
Cl
long
N
C
C
C
C
-
Cl*
Cl*
float
N
C
C
C
C
C
-
Cl
double
N
C
C
C
C
C
C
-
Tipoorigen
Explicación de los símbolos utilizados:
N: Conversión no permitida (un boolean no se puede convertir a ningún
otro tipo y viceversa).
CI: Conversión implícita o automática. Un asteriscoindica que puede
haber posible pérdida de datos.
C: Casting de tipos o conversión explícita.
El asterisco indica que puede haber una posible pérdida de datos, por
ejemplo al convertir un número detipo int que usa los 32 bits posibles
de la representación, a un tipo float, que también usa 32 bits para la representación, pero 8 de los cuales
son para el exponente.
En cualquier caso, lasconversiones de números en coma flotante a números enteros siempre necesitarán
un Casting, y deberemos tener mucho cuidado debido a la pérdida de precisión que ello supone.
Reglas de Promoción de Tiposde Datos
Cuando en una expresión hay datos o variables de distinto tipo, el compilador realiza la promoción de unos
tipos en otros, para obtener como resultado el tipo final de la expresión. Estapromoción de tipos se hace
siguiendo unas reglas básicas en base a las cuales se realiza esta promoción de tipos, y resumidamente
son las siguientes:
Si uno de los operandos es de tipo double, elotro es convertido
a double.
En cualquier otro caso:
Si el uno de los operandos es float, el otro se convierte
a float
Si uno de los operandos es long, el otro se convierte a
l
o
n
g
Si no...
Regístrate para leer el documento completo.