Redondeo y valores absolutos
floor, ceil, round y fabs
Redondeo y valores absolutos es una lección gratuita de C Academy en CoddyKit. Esta es la lección 4 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.
Redondeo y valores absolutos
En esta lección se explican funciones que ajustan números: floor, ceil, round y trunc para redondear, además de fabs para obtener el valor absoluto.
Todas se encuentran en math.h y funcionan con valores double.
La función floor
floor(x) redondea hacia abajo al número entero más cercano, en dirección a menos infinito.
Por tanto, floor(3.9) es 3.0 y floor(-1.2) es -2.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", floor(3.9));
printf("%.1f\n", floor(-1.2));
return 0;
}La función ceil
ceil(x) redondea hacia arriba al número entero más cercano, en dirección a más infinito.
Por tanto, ceil(3.1) es 4.0 y ceil(-1.8) es -1.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", ceil(3.1));
printf("%.1f\n", ceil(-1.8));
return 0;
}La función round
round(x) redondea al número entero más cercano. En los casos intermedios, redondea alejándose de cero.
Por tanto, round(2.5) es 3.0 y round(2.4) es 2.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", round(2.5));
printf("%.1f\n", round(2.4));
return 0;
}La función trunc
trunc(x) simplemente elimina la parte decimal, siempre en dirección a cero.
Por tanto, trunc(3.9) es 3.0 y trunc(-3.9) es -3.0.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", trunc(3.9));
printf("%.1f\n", trunc(-3.9));
return 0;
}Comparar las cuatro funciones
Para el valor 2.7, los resultados son diferentes:
floor(2.7)= 2.0 (hacia abajo)ceil(2.7)= 3.0 (hacia arriba)round(2.7)= 3.0 (más cercano)trunc(2.7)= 2.0 (hacia cero)
Elija la que corresponda a su intención.
Valor absoluto con fabs
fabs(x) devuelve el valor absoluto de un número de coma flotante: la distancia hasta cero, siempre no negativa.
Por tanto, fabs(-7.5) es 7.5.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.1f\n", fabs(-7.5));
printf("%.1f\n", fabs(7.5));
return 0;
}fabs frente a abs
Tenga cuidado: abs (de stdlib.h) funciona con enteros, mientras que fabs (de math.h) funciona con doubles.
Usar abs con un double eliminaría primero los decimales. Para números de coma flotante, use siempre fabs.
Convertir a int
Estas funciones devuelven un double. Para almacenar un número entero como int, convierta explícitamente el resultado.
Es más seguro aplicar primero round y después convertirlo, para que valores como 2.999 no se conviertan accidentalmente en 2.
#include <stdio.h>
#include <math.h>
int main(void) {
double x = 4.6;
int whole = (int)round(x);
printf("whole = %d\n", whole);
return 0;
}Un ejemplo con distancias
fabs resulta útil para medir la distancia entre dos valores, sin importar cuál sea mayor.
Aquí calculamos la diferencia entre dos temperaturas.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = 5.0, b = 12.5;
printf("gap = %.1f\n", fabs(a - b));
return 0;
}Redondear a decimales
Para redondear a dos cifras decimales, multiplique por 100, redondee y después divida entre 100.
Este truco usa round para mantener ordenados los valores con formato monetario.
#include <stdio.h>
#include <math.h>
int main(void) {
double price = 3.14159;
double r = round(price * 100.0) / 100.0;
printf("%.2f\n", r);
return 0;
}Comprobación rápida
Recuerde cómo se comporta cada función de redondeo.
Resumen
Ha aprendido floor (hacia abajo), ceil (hacia arriba), round (más cercano) y trunc (hacia cero), además de fabs para obtener el valor absoluto de doubles.
Recuerde usar fabs en lugar de abs con números de coma flotante, y convertir a int cuando necesite un número entero. ¡Excelente trabajo al completar el curso de math.h!
Preguntas frecuentes
¿La lección «Redondeo y valores absolutos» es gratis?
Sí — el texto completo de «Redondeo y valores absolutos» 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 «Redondeo y valores absolutos»?
floor, ceil, round y fabs 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 4 de 4.
¿Cuánto tiempo toma la lección «Redondeo y valores absolutos»?
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
- Incluir math.h
- Potencias y raíces
- Trigonometría y logaritmos
- Redondeo y valores absolutos