Determinar el orden de las operaciones en c ++

Todos los operadores realizan alguna función definida en C ++. Además, cada operador tiene una precedencia - un orden específico en el que se evalúan las expresiones. Considere, por ejemplo, cómo afecta prioridad resolver el siguiente problema:

int var = 2 * 3 + 1-

Si la adición se realiza antes de la multiplicación, el valor de la expresión es 2 veces 4 o 8. Si la multiplicación se lleva a cabo primero, el valor es 6 más 1, o 7.

La precedencia de los operadores determina quién va primero. El concepto de precedencia también está presente en la aritmética. C ++ se adhiere a la precedencia aritmética común. Por lo tanto, la multiplicación tiene mayor precedencia que además, por lo que el resultado es 7.

Entonces, ¿qué sucede cuando dos operadores de la misma precedencia aparezcan en la misma expresión? Por ejemplo:

int var = 8/4 / 2-

Cuando los operadores de la misma precedencia aparezcan en la misma expresión, que se evalúan de izquierda a derecha (la misma regla se aplica en la aritmética). Así, en este fragmento de código, var es igual a 8 dividido por 4 (que es 2) dividido por 2 (que es 1).

la expresión

x / 100 + 32

divisiones X por 100 antes de añadir 32. Pero lo que si el programador quería dividir X por 100 más 32? El programador puede cambiar la precedencia por la agrupación de expresiones juntos en paréntesis (tonos de álgebra!), Como sigue:

x / (100 + 32)

Esta expresión tiene el mismo efecto que dividiendo X por 132. La expresión original

x / 100 + 32

es idéntica a la expresión

(x / 100) + 32



» » » » Determinar el orden de las operaciones en c ++