0Pricing
C++ Academy · Lección

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.0

Raí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.0

Valor 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.14

Redondeo: floor, ceil, round y trunc

Cuatro modos de redondeo:

  • floor — hacia menos infinito
  • ceil — hacia más infinito
  • round — al entero más cercano; los valores intermedios se alejan de cero
  • trunc — 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"; // -4

Mó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.5

Logaritmos

Tres tipos de logaritmo:

  • std::log — logaritmo natural (base e)
  • std::log10 — base 10
  • std::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.0

Trigonometrí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 / 180

Constantes ú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

  1. Tipos enteros frente a tipos de punto flotante
  2. La cabecera cmath: pow, sqrt, abs y round
  3. Números aleatorios con la cabecera random
  4. Límites numéricos y comportamiento de overflow
← Volver a C++ Academy