The cmath
library in C++ is the same as math.h in C and it supports a large number of useful math functions, the complete list of all functions you can see here.
To use them, just include it in the header: #include <cmath>
In this cpp::daily of today we will see description and how to use some of them.
abs( int )
- Informs the absolute number:signed int x = -936;
std::cout << "absolute value of x: " << abs( x ) << '\n';
// absolute value of x: 936
pow( double, double )
- Is the power of two numbers:std::cout << "9 squared is: " << pow( 9, 2 ) << '\n';
// 9 squared is: 81
sin( double * pi / 180 )
- tells the sine of an angle;cos( double * pi / 180 )
- gives the cosine of an angle;tan( double * pi / 180 )
- tells the tangent of an angle;
In this example we also include iomanip to use std::setprecision( int )
argv[1]
as a string and later convert it to a long double with std::stold( std::string )
;#include <iostream>
#include <cmath>
#include <iomanip>
int main( int argc, char ** argv ){
if( argc <= 1 ){
std::cerr << "Enter the angle. Example: " << 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;
}
Output:
sqrt( double )
- Informs the square root of a number:
#include <iostream>
#include <cmath>
int main( int argc, char ** argv ){
if( argc <= 1 ){
std::cerr << "Enter the number. Example: " << argv[0] << " 35\n";
return 1;
}
std::string str = argv[1];
long double numero = std::stold( str );
std::cout << "The square root of \e[31;1m" << str <<
"\e[m is: \e[33;1m" << sqrt( numero ) << "\e[m\n";
return 0;
}
And among others like:
ceil( T )
- Rounds a number up: ceil( 2.1f );
// 3 ;cbrt( T )
- Informs the cubic root of a number: cbrt( 27 );
// 3;log( double )
- Calculates the logarithm.