Conversión de tipo C++
Conversión de tipo C++
En este tutorial, aprenderemos los conceptos básicos de la conversión de tipos de C++ con la ayuda de ejemplos.
C++ nos permite convertir datos de un tipo a otro. Esto se conoce como conversión de tipos.
Hay dos tipos de conversión de tipos en C++.
- Conversión implícita
- Conversión explícita (también conocida como conversión de tipo)
Conversión de tipos implícita
La conversión de tipo que realiza automáticamente el compilador se conoce como conversión de tipo implícita. Este tipo de conversión también se conoce como conversión automática.
Veamos dos ejemplos de conversión de tipos implícita.
Ejemplo 1:Conversión de int a double
// Working of implicit type-conversion
#include <iostream>
using namespace std;
int main() {
// assigning an int value to num_int
int num_int = 9;
// declaring a double type variable
double num_double;
// implicit conversion
// assigning int value to a double variable
num_double = num_int;
cout << "num_int = " << num_int << endl;
cout << "num_double = " << num_double << endl;
return 0;
}
Salida
num_int = 9 num_double = 9
En el programa le hemos asignado un int
datos a un double
variables.
num_double = num_int;
Aquí, el int
el valor se convierte automáticamente a double
por el compilador antes de que se asigne a num_double variable. Este es un ejemplo de conversión de tipo implícita.
Ejemplo 2:Conversión automática de double a int
//Working of Implicit type-conversion
#include <iostream>
using namespace std;
int main() {
int num_int;
double num_double = 9.99;
// implicit conversion
// assigning a double value to an int variable
num_int = num_double;
cout << "num_int = " << num_int << endl;
cout << "num_double = " << num_double << endl;
return 0;
}
Salida
num_int = 9 num_double = 9.99
En el programa, hemos asignado un double
datos a un int
variables.
num_double = num_int;
Aquí, el double
el valor se convierte automáticamente a int
por el compilador antes de que se asigne a num_int variable. Este también es un ejemplo de conversión de tipo implícita.
int
no puede tener una parte decimal, los dígitos después del punto decimal se truncan en el ejemplo anterior.
Pérdida de datos durante la conversión (conversión restringida)
Como hemos visto en el ejemplo anterior, la conversión de un tipo de datos a otro es propensa a la pérdida de datos. Esto sucede cuando los datos de un tipo más grande se convierten en datos de un tipo más pequeño.
Conversión explícita de C++
Cuando el usuario cambia manualmente los datos de un tipo a otro, esto se conoce como conversión explícita. . Este tipo de conversión también se conoce como conversión de tipos. .
Hay tres formas principales en las que podemos usar la conversión explícita en C++. Ellos son:
- Casting de tipo estilo C (también conocido como notación de cast )
- Notación de función (también conocida como conversión de tipo de estilo C++ antiguo )
- Operadores de conversión de tipos
Casting tipo estilo C
Como sugiere el nombre, este tipo de conversión se ve favorecida por el lenguaje de programación C. . También se conoce como notación cast. .
La sintaxis de este estilo es:
(data_type)expression;
Por ejemplo,
// initializing int variable
int num_int = 26;
// declaring double variable
double num_double;
// converting from int to double
num_double = (double)num_int;
Casting de estilo de función
También podemos usar la función como notación para convertir datos de un tipo a otro.
La sintaxis de este estilo es:
data_type(expression);
Por ejemplo,
// initializing int variable
int num_int = 26;
// declaring double variable
double num_double;
// converting from int to double
num_double = double(num_int);
Ejemplo 3:conversión de tipos
#include <iostream>
using namespace std;
int main() {
// initializing a double variable
double num_double = 3.56;
cout << "num_double = " << num_double << endl;
// C-style conversion from double to int
int num_int1 = (int)num_double;
cout << "num_int1 = " << num_int1 << endl;
// function-style conversion from double to int
int num_int2 = int(num_double);
cout << "num_int2 = " << num_int2 << endl;
return 0;
}
Salida
num_double = 3.56 num_int1 = 3 num_int2 = 3
Usamos tanto la conversión de tipo de estilo C y la conversión de estilo de función para la conversión de tipo y mostró los resultados. Dado que realizan la misma tarea, ambos nos dan el mismo resultado.
Operadores de conversión de tipos
Además de estas dos conversiones de tipos, C++ también tiene cuatro operadores para la conversión de tipos. Se conocen como operadores de conversión de tipos. . Ellos son:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Aprenderemos sobre estos moldes en tutoriales posteriores.
Tutoriales recomendados:
- Cadena de C++ a int y viceversa
- Cadena C++ para flotar, duplicar y viceversa
Lenguaje C
- Conversión de tipo C#
- Tipos de datos de C++
- Operadores de C++
- Comentarios de C++
- Plantillas de clase de C++
- Conversión de tipos de Python y conversión de tipos
- Números de Python, conversión de tipos y matemáticas
- Tipo de datos Char de C++ con ejemplos
- Descripción general de C++
- Tipos de variables de C++
- Constantes/Literales de C++