Operaciones Aritméticas

Las operaciones aritméticas básicas en C++ son muy parecidas a las de otros lenguajes.

OperadorOperació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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.