Conversiones explícitas
Conversiones manuales
Conversiones explícitas es una lección gratuita de C Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 4 lecciones en total.
Qué es un cast
Un cast convierte explícitamente un valor a otro tipo mediante (type)value. Indica al compilador exactamente qué desea.
#include <stdio.h>
int main(void) {
double d = (double)5;
printf("%.1f\n", d);
return 0;
}Forzar la división real
Convierta uno de los operandos a double para que la división conserve la parte fraccionaria.
#include <stdio.h>
int main(void) {
int a = 7, b = 2;
double r = (double)a / b;
printf("%.2f\n", r);
return 0;
}Truncar intencionadamente
Convertir un double a int descarta los decimales. En ocasiones, eso es exactamente lo que necesita.
#include <stdio.h>
int main(void) {
double price = 19.95;
int dollars = (int)price;
printf("dollars = %d\n", dollars);
return 0;
}Cast frente a conversión implícita
Una conversión implícita ocurre automáticamente; un cast documenta la intención y silencia las advertencias.
#include <stdio.h>
int main(void) {
long big = 100000L;
int n = (int)big;
printf("n = %d\n", n);
return 0;
}Casts en expresiones
Un cast solo se aplica al valor que tiene al lado, por lo que el orden y los paréntesis son importantes.
#include <stdio.h>
int main(void) {
int total = 5, count = 2;
double avg = (double)total / count;
printf("avg = %.2f\n", avg);
return 0;
}Casts entre char e int
Puede hacer un cast entre char e int para pasar de un carácter a su código y viceversa.
#include <stdio.h>
int main(void) {
int code = 66;
char c = (char)code;
printf("c = %c\n", c);
return 0;
}Redondeo mediante un cast
Añada 0.5 antes del cast para redondear un número positivo al entero más cercano.
#include <stdio.h>
int main(void) {
double d = 2.7;
int rounded = (int)(d + 0.5);
printf("rounded = %d\n", rounded);
return 0;
}Conversión a unsigned
Puede hacer un cast a unsigned, pero un valor negativo da la vuelta y se convierte en un número positivo grande.
#include <stdio.h>
int main(void) {
int x = 10;
unsigned int u = (unsigned int)x;
printf("u = %u\n", u);
return 0;
}Evitar casts innecesarios
Hacer un cast cuando la conversión ya es segura e implícita solo añade ruido. Use casts cuando aclaren la intención o sean necesarios.
#include <stdio.h>
int main(void) {
int a = 4;
double d = a;
printf("%.1f\n", d);
return 0;
}Casts en una fórmula
Un cast dentro de un cálculo de porcentajes mantiene la precisión del resultado.
#include <stdio.h>
int main(void) {
int done = 3, total = 8;
double pct = (double)done / total * 100.0;
printf("%.1f%%\n", pct);
return 0;
}Casts con funciones matemáticas
Los casts resultan útiles al pasar valores enteros a operaciones matemáticas en coma flotante.
#include <stdio.h>
int main(void) {
int n = 9;
double root = (double)n / 3.0;
printf("%.2f\n", root);
return 0;
}Comprobación rápida
Compruebe sus conocimientos sobre los casts explícitos.
Repaso: casts explícitos
Ha aprendido a convertir tipos intencionadamente.
- La sintaxis es
(type)value - Haga un cast para forzar la división real
- Haga un cast para truncar de forma intencionada
- Los casts documentan la intención y silencian las advertencias
- El cast solo afecta al valor adyacente, por lo que debe usar paréntesis
Preguntas frecuentes
¿La lección «Conversiones explícitas» es gratis?
Sí — el texto completo de «Conversiones explícitas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Conversiones explícitas»?
Conversiones manuales Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C Academy?
No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Conversiones explícitas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C Academy?
Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conversiones implícitas
- Conversiones explícitas
- Conversiones entre enteros y flotantes
- Errores en conversiones