La cabecera cmath: pow, sqrt, abs y round
Use la biblioteca matemática estándar para realizar operaciones matemáticas habituales.
La cabecera cmath: pow, sqrt, abs y round 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.
El encabezado <cmath>
Las funciones matemáticas estándar se encuentran en <cmath>. La mayoría acepta y devuelve double; también existen sobrecargas para float y long double.
Potencias: pow
std::pow(base, exp) eleva base a la potencia exp. Devuelve double.
#include <cmath>
double x = std::pow(2.0, 10); // 1024.0
double y = std::pow(9.0, 0.5); // 3.0Raíces cuadradas: sqrt y cbrt
sqrt devuelve la raíz cuadrada; cbrt devuelve la raíz cúbica.
double s = std::sqrt(2.0); // 1.414...
double c = std::cbrt(27.0); // 3.0Valor absoluto: abs
std::abs funciona tanto con tipos enteros como de punto flotante. Para enteros, use <cstdlib> o simplemente std::abs.
#include <cmath>
#include <cstdlib>
int i = std::abs(-5); // 5
double d = std::abs(-3.14); // 3.14Redondeo: floor, ceil, round y trunc
Cuatro modos de redondeo:
floor— hacia menos infinitoceil— hacia más infinitoround— al entero más cercano; los valores intermedios se alejan de cerotrunc— hacia cero
Ejemplos de redondeo
Observe cómo se comportan de forma distinta con números positivos y negativos.
std::cout << std::floor(3.7) << "\n"; // 3
std::cout << std::ceil(3.2) << "\n"; // 4
std::cout << std::round(3.5) << "\n"; // 4
std::cout << std::trunc(-3.7) << "\n"; // -3
std::cout << std::floor(-3.7) << "\n"; // -4Módulo para flotantes: fmod
El operador % solo funciona con enteros. Use std::fmod para tipos de punto flotante.
double r = std::fmod(10.5, 3.0); // 1.5Logaritmos
Tres tipos de logaritmo:
std::log— logaritmo natural (base e)std::log10— base 10std::log2— base 2 (C++11)
Exponencial: exp
std::exp(x) calcula e^x. Es la función inversa del logaritmo natural.
double e = std::exp(1.0); // 2.718...
double x = std::log(e); // 1.0Trigonometría
sin, cos, tan y sus inversas (asin, acos, atan). Todas reciben los ángulos en radianes.
double y = std::sin(M_PI / 2); // 1.0
// Convert degrees to radians: deg * M_PI / 180Constantes útiles (C++20)
C++20 añadió constantes matemáticas con nombre en <numbers>: std::numbers::pi, e, sqrt2 y muchas más.
#include <numbers>
std::cout << std::numbers::pi; // 3.14159...
std::cout << std::numbers::e; // 2.71828...Comprobación rápida
¿Qué función redondea -3.7 a -4?
Resumen
<cmath> incluye potencias, raíces, valor absoluto, redondeo, módulo, logaritmos, exponenciales y funciones trigonométricas. La trigonometría funciona con radianes. C++20 añadió <numbers> para constantes con nombre como std::numbers::pi.
Preguntas frecuentes
¿La lección «La cabecera cmath: pow, sqrt, abs y round» es gratis?
Sí — el texto completo de «La cabecera cmath: pow, sqrt, abs y round» 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 «La cabecera cmath: pow, sqrt, abs y round»?
Use la biblioteca matemática estándar para realizar operaciones matemáticas habituales. 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 «La cabecera cmath: pow, sqrt, abs y round»?
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
- Tipos enteros frente a tipos de punto flotante
- La cabecera cmath: pow, sqrt, abs y round
- Números aleatorios con la cabecera random
- Límites numéricos y comportamiento de overflow