En este tema, analizaremos la conversión de un tipo de datos a otro en el lenguaje de programación C++. La conversión de tipos es el proceso que convierte el tipo de datos predefinido de una variable en un tipo de datos apropiado. La idea principal detrás de la conversión de tipos es convertir dos variables de tipos de datos diferentes en un solo tipo de datos para resolver expresiones matemáticas y lógicas fácilmente sin pérdida de datos.
Por ejemplo, estamos sumando dos números, donde una variable es de tipo int y otra de tipo float; Necesitamos convertir o encasillar la variable int en flotante para que ambos tipos de datos floten para agregarlos.
La conversión de tipos se puede realizar de dos maneras en C++, una es conversión de tipo implícita , y el segundo es conversión de tipo explícita . Esas conversiones las realiza el propio compilador, lo que se denomina conversión de tipo implícita o automática. La conversión, que la realiza el usuario o requiere interferencias del usuario, se denomina conversión de tipo explícita o definida por el usuario. Analicemos la conversión de tipos implícita y explícita en C++.
Conversión de tipo implícita
La conversión de tipo implícita es el tipo de conversión que realiza automáticamente el compilador sin ningún esfuerzo humano. Significa que una conversión implícita convierte automáticamente un tipo de datos en otro tipo según algunas reglas predefinidas del compilador de C++. De ahí que también se le conozca como el conversión automática de tipos .
puntero en c
Por ejemplo:
int x = 20; short int y = 5; int z = x + y;
En el ejemplo anterior, hay dos variables de tipos de datos diferentes, x e y, donde x es un tipo int e y es un tipo de datos int corto. Y la variable resultante z también es un tipo entero que almacena las variables xey. Pero el compilador de C++ convierte automáticamente el valor del tipo de datos de rango inferior (int corto) en un tipo superior (int) antes de obtener la suma de dos números. Por lo tanto, evita la pérdida de datos, el desbordamiento o la pérdida de signos en la conversión de tipos implícita de C++.
1 de 1000
Orden del encasillamiento en conversión implícita
El siguiente es el orden correcto de los tipos de datos desde el rango inferior al superior:
bool -> char -> short int -> int -> unsigned int -> long int -> unsigned long int -> long long int -> float -> double -> long double
Programa para convertir int a tipo flotante mediante conversión de tipo implícita
Creemos un programa para convertir tipos de datos de rango más pequeño en tipos más altos mediante la conversión de tipos implícita.
Programa1.cpp
#include using namespace std; int main () { // assign the integer value int num1 = 25; // declare a float variable float num2; // convert int value into float variable using implicit conversion num2 = num1; cout << ' The value of num1 is: ' << num1 << endl; cout << ' The value of num2 is: ' << num2 << endl; return 0; }
Producción
The value of num1 is: 25 The value of num2 is: 25
Programa para convertir el tipo de datos double a int mediante conversión de tipo implícita
Creemos un programa para convertir el tipo de datos superior en un tipo inferior mediante la conversión de tipo implícita.
Programa2.cpp
#include using namespace std; int main() { int num; // declare int type variable double num2 = 15.25; // declare and assign the double variable // use implicit type conversion to assign a double value to int variable num = num2; cout << ' The value of the int variable is: ' << num << endl; cout << ' The value of the double variable is: ' << num2 << endl; return 0; }
Producción
The value of the int variable is: 15 The value of the double variable is: 15.25
En el programa anterior, declaramos num como un tipo entero y num2 como la variable de tipo de datos doble y luego asignamos num2 como 15.25. Después de esto, asignamos el valor num2 a la variable num usando el operador de asignación. Entonces, un compilador de C++ convierte automáticamente el valor de datos doble al tipo entero antes de asignarlo a la variable num e imprimir el valor truncado como 15.
modelos de aprendizaje automático
Conversión de tipo explícita
Conversiones que requieren intervención del usuario cambiar el tipo de datos de una variable a otra, se llama conversión de tipo explícita . En otras palabras, una conversión explícita permite al programador cambiar o encasillar manualmente el tipo de datos de una variable a otro tipo. De ahí que también se le conozca como encasillamiento. Generalmente, forzamos la conversión de tipo explícita para convertir datos de un tipo a otro porque no sigue la regla de conversión implícita.
La conversión de tipo explícita se divide en dos formas:
- Conversión explícita usando el operador de conversión
- Conversión explícita usando el operador de asignación
Programa para convertir el valor flotante en tipo int usando el operador de conversión
Operador de reparto: En lenguaje C++, un operador de conversión es un operador unario que convierte a la fuerza un tipo en otro tipo.
Consideremos un ejemplo para convertir el tipo de datos float en tipo int usando el operador de conversión explícita en lenguaje C++.
Programa3.cpp
#include using namespace std; int main () { float f2 = 6.7; // use cast operator to convert data from one type to another int x = static_cast (f2); cout << ' The value of x is: ' << x; return 0; }
Producción
comandos de Linux crean carpeta
The value of x is: 6
Programa para convertir un tipo de datos en otro usando el operador de asignación
Consideremos un ejemplo para convertir el tipo de datos de una variable en otra usando el operador de asignación en el programa C++.
Programa4.cpp
#include using namespace std; int main () { // declare a float variable float num2; // initialize an int variable int num1 = 25; // convert data type from int to float num2 = (float) num1; cout << ' The value of int num1 is: ' << num1 << endl; cout << ' The value of float num2 is: ' << num2 << endl; return 0; }
Producción
The value of int num1 is: 25 The value of float num2 is: 25.0