Conversión de tipos

De Wikipedia, la enciclopedia libre

En ciencias de la computación la conversión de tipos (type casting en inglés) se refiere a la transformación de un tipo de dato en otro. Esto se hace para tomar las ventajas que pueda ofrecer el tipo a que se va a convertir. Por ejemplo, los valores de un conjunto más limitado, como números enteros, se pueden almacenar en un formato más compacto y más tarde convertidos a un formato diferente que permita las operaciones que anteriormente no eran posibles, tales como la división con decimales.

Tipos de conversión[editar]

Hay dos tipos de conversión, la implícita y la explícita:

En la implícita se convierte un tipo de dato de menor rango a un supertipo (tipo de dato de mayor rango); este tipo de conversión lo realiza el compilador, ya que no hay pérdida de datos si, por ejemplo, se pasa un int (tipo entero) a long.

En la conversión explícita, el compilador no es capaz de realizarla por sí solo y por ello debe definirse explícitamente en el programa.

Existen varios tipos de conversión explícita:

  • Controlada: antes de realizar la conversión se controla en tiempo de ejecución si el tipo de destino puede tener el valor de origen, y si no se produce un error.
  • No controlada: no se realiza ningún control, si el tipo de dato destino no puede contener al de origen el resultado es indefinido (generalmente se produce un desbordamiento de búfer y en algunos casos como en java el cambio se produce sin mayores consecuencias).
  • Patrón de bits: La representación de bits en bruto de la fuente es una copia literal, y se reinterpreta de acuerdo con el tipo de destino. Esto también puede lograrse a través de aliasing.

Enlaces externos[editar]