Conversión de tipos Parte 2
Parte de la sección Fundamentals del Journey de C de Coddy — lección 14 de 63.
En la Parte 1, vimos la conversión de tipos implícita. Ahora, exploremos la conversión de tipos explícita en C.
La conversión de tipos explícita (conversión manual) es cuando conviertes forzosamente un tipo de dato a otro utilizando el operador de conversión (cast).
La sintaxis para la conversión explícita (casting) es:
(target_type) expressionVamos a convertir un float a un entero:
float price = 45.95;
int rounded_price = (int) price;Después de ejecutar el código anterior, rounded_price será:
45
Observa que la parte decimal se trunca (no se redondea).
También podemos convertir caracteres a enteros para obtener sus valores ASCII:
char letter = 'A';
int ascii_value = (int) letter;Después de ejecutar el código anterior, ascii_value será:
65
Recuerda, la conversión de tipos puede provocar la pérdida de datos, especialmente al convertir de un tipo de datos más grande a uno más pequeño.
Desafío
FácilEscribe un programa que:
- Declare una variable de tipo double llamada
temperaturey le asigne un valor de 98.6. - Use la conversión de tipos explícita (type casting) para convertir
temperatureen un entero y lo almacene en una variable llamadawhole_part. - Imprima la temperatura original y la parte entera en líneas separadas.
Ejemplo de salida:
Original temperature: 98.6
Whole part: 98
Hoja de referencia
La conversión de tipos explícita (type casting) en C le permite convertir manualmente un tipo de datos a otro utilizando el operador de conversión.
Sintaxis:
(target_type) expressionConversión de float a entero (trunca la parte decimal):
float price = 45.95;
int rounded_price = (int) price; // Resultado: 45Conversión de carácter a entero (obtiene el valor ASCII):
char letter = 'A';
int ascii_value = (int) letter; // Resultado: 65Nota: La conversión de tipos puede provocar la pérdida de datos al convertir de tipos de datos más grandes a más pequeños.
Pruébalo tú mismo
#include <stdio.h>
int main() {
// Escribe tu código aquí
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso