0Pricing
C++ Academy · Aula

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

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

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

Arredondamento: floor ceil round trunc

Quatro modos de arredondamento:

  • floor — em direção ao infinito negativo
  • ceil — em direção ao infinito positivo
  • round — para o valor mais próximo; os casos intermediários se afastam de zero
  • trunc — 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"; // -4

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

Logaritmos

Três 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. É a função inversa do logaritmo natural.

double e = std::exp(1.0);     // 2.718...
double x = std::log(e);       // 1.0

Trigonometria

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

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

  1. Tipos inteiros versus ponto flutuante
  2. O cabeçalho cmath: pow, sqrt, abs, round
  3. Números aleatórios com o cabeçalho random
  4. Limites numéricos e comportamento de overflow
← Voltar para C++ Academy