Las operaciones aritméticas básicas en C++ son muy parecidas a las de otros lenguajes.
Operador | Operación |
+ | Suma |
– | Resta |
* | Multiplicación |
/ | División |
% | Módulo |
Una librería muy útil a la hora de realizar operaciones matemáticas es cmath. Una de sus funciones más útiles es pow().
Fíjate en su uso:
#include <cmath> std::pow(base, exponente);
Como por ejemplo:
std::pow(2, 5);
cmath incluye también algunas constantes muy útiles a la hora de realizar operaciones matemáticas, como por ejemplo M_PI que es el equivalente al número PI.
M_PI = 3.14159265358979323846
Conversiones implícitas
Como ya sabes, C++ es un lenguaje compilado y como tal requiere conocer los tipos de variable que van a ser usados durante la ejecución.
Sin embargo se permiten ciertas conversiones implícitas, como por ejemplo un entero que se asigna a una variable de tipo float o un entero tratado como un char.
Echa un vistazo al siguiente ejemplo para comprender mejor este concepto:
#include<iostream> int main() { int a = 65; char charA = 65; char charB = 'B'; float answer = 0; char charC = 67; int integer = 80; float floatNumber = 0.0; std::cout<<"a = "<<a<<"\n"; std::cout<<"charA = "<<charA<<"\n"; std::cout<<"charB = "<<charB<<"\n"; // se puede asignar un integer a un float floatNumber = integer; std::cout<<"integer = "<<integer<<"\n\n"; std::cout<<"floatNumber = integer = "<<floatNumber<<"\n"; // se puede asignar un char a un float floatNumber = charB; std::cout<<"floatNumber = charB = "<<floatNumber<<"\n"; answer = floatNumber/4; std::cout<<"respuesta = floatNumber/4 = "<<answer<<"\n"; // Asignar un float a un char no funciona tan bien... charC = answer; std::cout<<"charC = respuesta = "<<charC<<"\n"; // y si asignas un float a un integer el valor s truncado integer = answer; std::cout<<"integer = floatNumber = "<<integer<<"\n"; return 0; }
Prefijo y postfijo
En C++, como en otros lenguajes, hay operadores que pueden funcionar como prefijos y postfijos.
Para incrementar una variable:
- prefijo: ++a
- postfijo: a++
Para reducir:
- prefijo: –a
- postfijo: a–
Existe una diferencia pequeña pero crucial entre ambas y es que el prefijo modifica el valor de la variable y después la devuelve y el postfijo crea una copia de la variable, la modifica y devuelve una copia anterior a la modificación.