Una conversión de tipos es básicamente una conversión de un tipo a otro. Hay dos tipos de conversión de tipos:
- Conversión de tipo implícita También conocida como 'conversión de tipo automática'.
- Realizado por el compilador por sí solo, sin ningún disparador externo por parte del usuario.
- Generalmente ocurre cuando en una expresión está presente más de un tipo de datos. En tal condición, se realiza la conversión de tipo (promoción de tipo) para evitar la pérdida de datos.
- Todos los tipos de datos de las variables se actualizan al tipo de datos de la variable con el tipo de datos más grande.
bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> doble -> long double>
- Es posible que las conversiones implícitas pierdan información, se puedan perder los signos (cuando firmado se convierte implícitamente en no firmado) y puede ocurrir desbordamiento (cuando long long se convierte implícitamente en flotante).
- Conversión por asignación: Esto se hace definiendo explícitamente el tipo requerido delante de la expresión entre paréntesis. Esto también puede considerarse como un lanzamiento contundente.
Sintaxis:
(type) expression>
dónde tipo indica el tipo de datos al que se convierte el resultado final.
1 de 1000
Ejemplo:
// C++ program to demonstrate>// explicit type casting>>#include>using>namespace>std;>>int>main()>{>>double>x = 1.2;>>>// Explicit conversion from double to int>>int>sum = (>int>)x + 1;>>>cout <<>'Sum = '><< sum;>>>return>0;>}>modelos de aprendizaje automático
>
>
Producción:Sum = 2>
- Conversión usando el operador Cast: Un operador Cast es un operador unario lo que obliga a un tipo de datos a convertirse en otro tipo de datos.
C++ admite cuatro tipos de conversión:- Reparto estático
- Reparto dinámico
- Elenco constante
- Reinterpretar el elenco
Ejemplo:
comandos de Linux crean carpeta
#include>using>namespace>std;>int>main()>{>>float>f = 3.5;>>>// using cast operator>>int>b =>static_cast><>int>>(F);>>>cout << b;>}>>
>
Producción:3>
Ejemplo de conversión implícita de tipo:
puntero en c
// An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> >int> x = 10;>// integer x> >char> y =>'a'>;>// character c> > >// y implicitly converted to int. ASCII> >// value of 'a' is 97> >x = x + y;> > >// x is implicitly converted to float> >float> z = x + 1.0;> > >cout <<>'x = '> << x << endl> ><<>'y = '> << y << endl> ><<>'z = '> << z << endl;> > >return> 0;> }> |
>
>Producción:
x = 107 y = a z = 108>Conversión de tipo explícita: este proceso también se denomina conversión de tipo y está definido por el usuario. Aquí el usuario puede encasillar el resultado para que sea de un tipo de datos particular.
En C++, se puede hacer de dos maneras:
Ventajas de la conversión de tipos:
- Esto se hace para aprovechar ciertas características de las jerarquías de tipos o representaciones de tipos.
- Ayuda a calcular expresiones que contienen variables de diferentes tipos de datos.