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