O cabeçalho cmath: pow, sqrt, abs, round
Use a biblioteca matemática padrão para operações matemáticas comuns
O cabeçalho cmath: pow, sqrt, abs, round é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.
O cabeçalho <cmath>
As funções matemáticas padrão estão em <cmath>. A maioria aceita e retorna double; também existem sobrecargas para float e long double.
Potências: pow
std::pow(base, exp) eleva base à potência exp. Retorna double.
#include <cmath>
double x = std::pow(2.0, 10); // 1024.0
double y = std::pow(9.0, 0.5); // 3.0Raízes quadradas: sqrt cbrt
sqrt retorna a raiz quadrada; cbrt retorna a raiz cúbica.
double s = std::sqrt(2.0); // 1.414...
double c = std::cbrt(27.0); // 3.0Valor absoluto: abs
std::abs funciona tanto com tipos inteiros quanto com tipos de ponto flutuante. Para inteiros, use <cstdlib> ou simplesmente std::abs.
#include <cmath>
#include <cstdlib>
int i = std::abs(-5); // 5
double d = std::abs(-3.14); // 3.14Arredondamento: floor ceil round trunc
Quatro modos de arredondamento:
floor— em direção ao infinito negativoceil— em direção ao infinito positivoround— para o valor mais próximo; os casos intermediários se afastam de zerotrunc— em direção a zero
Exemplos de arredondamento
Veja como eles diferem para números positivos e 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 números de ponto flutuante: fmod
O operador % funciona apenas com inteiros. Use std::fmod para números de ponto flutuante.
double r = std::fmod(10.5, 3.0); // 1.5Logaritmos
Três 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. É a função inversa do logaritmo natural.
double e = std::exp(1.0); // 2.718...
double x = std::log(e); // 1.0Trigonometria
sin, cos, tan e suas inversas (asin, acos, atan). Todas recebem ângulos em radianos.
double y = std::sin(M_PI / 2); // 1.0
// Convert degrees to radians: deg * M_PI / 180Constantes úteis (C++20)
O C++20 adicionou constantes matemáticas nomeadas em <numbers>: std::numbers::pi, e, sqrt2 e outras.
#include <numbers>
std::cout << std::numbers::pi; // 3.14159...
std::cout << std::numbers::e; // 2.71828...Verificação rápida
Qual função arredonda -3.7 para -4?
Recapitulação
<cmath> abrange potências, raízes, valor absoluto, arredondamento, módulo, logaritmos, exponenciais e trigonometria. A trigonometria funciona em radianos. O C++20 adicionou <numbers> para constantes nomeadas, como std::numbers::pi.
Perguntas Frequentes
A aula “O cabeçalho cmath: pow, sqrt, abs, round” é grátis?
Sim — o texto completo de “O cabeçalho cmath: pow, sqrt, abs, round” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.
O que vou aprender em “O cabeçalho cmath: pow, sqrt, abs, round”?
Use a biblioteca matemática padrão para operações matemáticas comuns Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C++ Academy?
Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “O cabeçalho cmath: pow, sqrt, abs, round”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C++ Academy?
Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Tipos inteiros versus ponto flutuante
- O cabeçalho cmath: pow, sqrt, abs, round
- Números aleatórios com o cabeçalho random
- Limites numéricos e comportamento de overflow