Trabalhando com cmath em C++

Tornando os cálculos Matemáticos mais simples de obter os resultados.


Trabalhando com cmath em C++

A biblioteca cmath do C++ é a mesma que a math.h do C e ela oferece suporte a um grande número de funções matemáticas úteis, a lista completa de todas as funções você pode ver aqui .

Para utilizá-las, basta incluí-la no cabeçalho: #include <cmath>

Nesse cpp::daily de hoje vamos ver descrição e como utilizar algumas delas.

  • abs( int ) - Informa o número absoluto:
signed int x = -936;
std::cout << "valor absoluto de x: " << abs( x ) << '\n';
// valor absoluto de x: 936

  • pow( double, double ) - É a potênciação de dois números:
std::cout << "9 elevado ao quadrado é: " << pow( 9, 2 ) << '\n';
// 9 elevado ao quadrado é: 81


  • sin( double * pi / 180 ) - informa o seno de um ângulo;
  • cos( double * pi / 180 ) - informa o cosseno de um ângulo;
  • tan( double * pi / 180 ) - informa a tangente de um ângulo;
    • Nesse exemplo incluímos também a iomanip para usar o std::setprecision( int )
    • Usamos também parametro via linha de comando para obtermos resultado em tempo de execução
    • Captamos o argv[1] como string e convertemos posteriormente em long double com std::stold( std::string );
    • Lembrando que PI é um número infinito, logo, atribuímos 13 dígitos(algarismos) significativos para uma maior precisão do resultado, pois somente 3.14 pode haver resultados menos precisos.
#include <iostream>
#include <cmath>
#include <iomanip>

int main( int argc, char ** argv ){

  if( argc <= 1 ){
    std::cerr << "Informe o angulo. Exemplo: " << argv[0] << " 35\n";
    return 1;
  }

  std::string str = argv[1];
  const long double PI = 3.1415926535897;
  long double angulo = std::stold( str );
  std::cout << "seno: " << std::setprecision( 3 ) << sin( angulo * PI / 180 ) << '\n';
  std::cout << "cosseno: " << std::setprecision( 3 ) << cos( angulo * PI / 180 ) << '\n';
  std::cout << "tangente: " << std::setprecision( 4 ) << tan( angulo * PI / 180 ) << '\n';

  return 0;
}

Saída:

Exemplo cmath

Para constatação dos resultados você pode usar esse serviço online, basta preencher o valor do ângulo e clicar em [calcular]:

Como calcular online e o resultado


  • sqrt( double ) - Informa a raiz quadrada de um número:
    • Para esse exemplo(mini programa) além de usar parametros, também utilizamos saídas coloridas para ficar mais destacada.
#include <iostream>
#include <cmath>

int main( int argc, char ** argv ){

  if( argc <= 1 ){
    std::cerr << "Informe o número. Exemplo: " << argv[0] << " 35\n";
    return 1;
  }

  std::string str = argv[1];
  long double numero = std::stold( str );

  std::cout << "A raiz quadrada de \e[31;1m" << str << 
               "\e[m é: \e[33;1m" << sqrt( numero ) << "\e[m\n";

  return 0;
}

Saída:

Saída do mini programa que calcula a raiz quadrada


E entre outras como:

  • ceil( T ) - Arrendonda um número para cima: ceil( 2.1f ); // 3 ;
  • cbrt( T ) - Informa a raiz cúbica de um número: cbrt( 27 ); // 3;
  • log( double ) - Calcula o logaritmo.

Por hoje é só, são pequenas doses diárias que farão sempre nos manter antenado com o C++ !

Acompanhe o cpp::daily

Deseja aprender C++ e criar seus programas Gráficos e para Terminal com portabilidade para Linux e Windows?

Então se inscreva nos nossos Cursos de C++ Moderno . Você aprender criar:

Acesse o endereço:

https://terminalroot.com.br/cpp/ e saiba mais!


Para mais informações consulte:


cppdaily cpp


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!