1.4 Operadores matemáticos

Los operadores matemáticos en C++ son sencillos, casi todos ellos idénticos a los utilizados en matemática. Las operaciones fundamentales utilizan 5 operadores básicos:

     +  suma
     -   resta
     *  multiplicación
     /   división
     % resto

El operador resto o módulo realiza la división entre dos números enteros, pero en lugar del resultado, toma el resto de la división. Así

  10 % 3 = 1
  11 % 3 = 2
  12 % 3 = 0
  13 % 3 = 1
  14 % 3 = 2
  15 % 3 = 0, etc.

mientras que

  10 / 3 = 3
  11 / 3 = 3
  12 / 3 = 4
  13 / 3 = 4
  14 / 3 = 4
  15 / 3 = 5, etc.

Las primeras cuatro operaciones están definidas tanto como para valores int como float, mientras que el resto sólo está definido entre valores int. Intentar utilizar el operador % con valores float dará un error al intentar compilar el programa.

Un uso muy importante para el operador % es ver si un número es múltiplo de otro, ya que si a es múltiplo de b, entonces a % b == 0.

La precedencia de operadores es similar a la de las expresiones matemáticas:
- Primero se resuelven las operaciones entre paréntesis. Si hay varios paréntesis anidados, se resuelven desde adentro hacia afuera.
- Luego las multiplicaciones, divisiones y restos, de izquierda a derecha.
- Por último, las sumas y restas de izquierda a derecha.

Se debe tener en cuenta que las operaciones entre enteros darán como resultados valores enteros, incluso la división. Así, la operación

          a = 16 / 3

guardará en a el valor entero 5, incluso si a es una variable de tipo float. Para evitar este truncamiento, el dividendo o el divisor deben ser de tipo float. El resultado correcto se obtiene haciendo

          a = 16 / 3.0

Así, al ser el divisor un valor float (3.0), la operación se realiza como float y se guarda el valor 5.3333 en a (si también es de tipo float)

No hay comentarios:

Publicar un comentario