Um resultado realmente incrível!!! - página 2

 

Consultar a documentação Prioridades e ordem de operação:

Cada grupo de operações na tabela tem a mesma prioridade. Quanto maior a prioridade de um grupo de operações, maior é a sua colocação na mesa. A ordem de execução determina o agrupamento de operações e operandos.

() Chamada de função da esquerda para a direita
[] Seleção de elementos da matriz
!      Negação lógica da direita para a esquerda
- Mudança de sinal
++ Aumentar em um (incremento)
--Diminuir por um (decrescimento)
~ Negação bitwise (complemento)
& Bitwise E operação da esquerda para a direita
| Bitwise OR
Bitwise exclusivo OR (eXclude OR)
<< Turno esquerdo
>> Deslocamento para a direita
* Multiplicação da esquerda para a direita
/ Dividir
% Divisão Modulo
+ Adicionando Esquerda à Direita
- Subtração
<= Menos do que da esquerda para a direita
<= Menor ou igual a
>= Maior do que
>= Maior ou igual
== Igual
!= Não igual
|| OU operação lógica da esquerda para a direita
&& Operação booleana E da esquerda para a direita
== Atribuição da direita para a esquerda
+= Adição e Atribuição
= Subtração com atribuição
*= Multiplicar com Atribuição
/= Divisão com atribuição
%= Divisão Modulo com atribuição
>>= Turno direito com atribuição
<<= Turno esquerdo com atribuição
&= Atribuído Bitwise AND
|= Bitwise OR e atribuição
^= Excluindo OU com atribuição
vírgula da esquerda para a direita

Os parênteses são usados para alterar a ordem de execução da operação, e têm a mais alta prioridade.


Atenção: A prioridade das operações na MQL4 difere ligeiramente da da MQL4 na C.


Então é verdade


 

LOL


Compilar em C de correr se você for muito preguiçoso para verificar.


O compilador é cem por cento GLUCK.

 

OH, OS SKIES!

E A FALHA ESTÁ NO C, E NÓS PENSAMOS.... PORQUE HÁ UMA CRISE NO PLANETA.

 

Você vive e aprende. Eu sempre acreditei que você executa E primeiro, e depois OU. E com este entendimento, todos os programas funcionaram bem. Mesmo combinações lógicas muito complicadas.

Mas aqui...

Não, é melhor que você não leia os fóruns. Eles confundem tudo.

Os programas funcionaram bem.... agora eles vão estar com problemas... :))))))))

 
Rosh, uau, é isso mesmo... Não existe tal coisa em matemática ou outros idiomas, mas na MQL4 é verdade? Então é uma falha no cérebro dos desenvolvedores :) Desculpe...
 
rid >> :

De jeito nenhum! O "ou"(|||) tem precedência aqui - inequivocamente !

Se não houver parênteses, então ||| será executado primeiro, e depois &&

É por isso que os parênteses devem estar em locais apropriados.


No entanto...

   bool a = false, 
      b = true, 
      c = false;
   
   bool res = a || b && c;
   Print( res);               // 1 !
lata
 
... e aqui... basta colocar parênteses, colocar parênteses, colocar parênteses, cavalheiros! Não há problema. E o programa será mais fácil de entender. Nunca ninguém prometeu que a MQL4 = C++/.
 
Há uma norma e ela deve ser obedecida. E se os desenvolvedores produzem seu próprio padrão que contradiz o padrão geralmente aceito, então... a sujeira é... lixo.
 

verificou o primeiro posto no matcad. A resposta é 1 0 1 1 1

Aqui está o código

 

Para ser honesto, nunca memorizei a prioridade das operações lógicas e bitwise. Devido à preguiça inata, eu apenas coloquei colchetes nos lugares certos.

"Há muito, amigo Horace...."

Razão: