Ogni gruppo di operazioni nella tabella ha la stessa priorità. Più alta è la priorità di un gruppo di operazioni, più alto è il suo posto nella tabella. L'ordine di esecuzione determina il raggruppamento delle operazioni e degli operandi.
() Chiamata di funzione da sinistra a destra [] Selezione degli elementi della matrice
! Negazione logica Da destra a sinistra - Cambio di segno ++ Aumenta di uno (incremento) --Diminuire di uno (decremento) ~ Negazione bitwise (complemento)
& Operazione Bitwise AND Da sinistra a destra | OR in senso orario OR esclusivo bitwise (eXclude OR) << Spostamento a sinistra >> Spostamento a destra
* Moltiplicazione da sinistra a destra / Dividere % Divisione modulo
+ Aggiungendo da sinistra a destra - Sottrazione
<= Meno di sinistra a destra <= Meno di o uguale a >= Maggiore di >= Maggiore o uguale == Uguale != Non uguale
|| Operazione logica OR Da sinistra a destra
&& Operazione booleana AND da sinistra a destra
== Assegnazione da destra a sinistra += Aggiunta e assegnazione = Sottrazione con assegnazione *= Moltiplicare con Assegnazione /= Divisione con assegnazione %= Divisione modulo con assegnazione >>= Spostamento a destra con assegnazione <<= Spostamento a sinistra con assegnazione &= Assegnato Bitwise AND |= OR e assegnazione bitwise ^= Escludere OR con assegnazione
virgola Da sinistra a destra
Le parentesi sono usate per cambiare l'ordine di esecuzione dell'operazione e hanno la massima priorità.
Attenzione: la priorità delle operazioni in MQL4 differisce leggermente da quella in C.
Si vive e si impara. Ho sempre creduto che si esegue prima AND e poi OR. E con questa comprensione, tutti i programmi hanno funzionato bene. Anche combinazioni logiche molto complicate.
Ma qui...
No, è meglio non leggere i forum. Confondono tutto.
I programmi hanno funzionato bene.... ora saranno glitchati... :))))))))
Rosh, wow è corretto... Non c'è una cosa del genere in matematica o in altri linguaggi, ma in MQL4 è vero? Allora è un difetto nel cervello degli sviluppatori :) Scusa...
... e qui... mettete le parentesi, mettete le parentesi, mettete le parentesi, signori! Nessun problema. E il programma sarà più facile da capire. Nessuno ha mai promesso che MQL4 = C++/.
C'è uno standard e deve essere rispettato. E se gli sviluppatori producono un loro standard che contraddice quello generalmente accettato, allora... lo sporco è... spazzatura.
Ad essere onesti, non ho mai memorizzato la priorità delle operazioni logiche e bitwise. Per pigrizia innata ho solo messo le parentesi nei posti giusti.
Fare riferimento alla documentazione Priorità e ordine delle operazioni:
Ogni gruppo di operazioni nella tabella ha la stessa priorità. Più alta è la priorità di un gruppo di operazioni, più alto è il suo posto nella tabella. L'ordine di esecuzione determina il raggruppamento delle operazioni e degli operandi.
Le parentesi sono usate per cambiare l'ordine di esecuzione dell'operazione e hanno la massima priorità.
Attenzione: la priorità delle operazioni in MQL4 differisce leggermente da quella in C.
Quindi è vero
LOL
Compilate in C da run se siete troppo pigri per controllare.
Il compilatore è al cento per cento GLUCK.
OH, I CIELI!
E IL GUASTO È NELLA C, E ABBIAMO PENSATO.... PERCHÉ C'È UNA CRISI SUL PIANETA.
Si vive e si impara. Ho sempre creduto che si esegue prima AND e poi OR. E con questa comprensione, tutti i programmi hanno funzionato bene. Anche combinazioni logiche molto complicate.
Ma qui...
No, è meglio non leggere i forum. Confondono tutto.
I programmi hanno funzionato bene.... ora saranno glitchati... :))))))))
Niente affatto! La "o" (||) ha la precedenza qui - inequivocabilmente!
Se non ci sono parentesi, allora || sarà eseguito per primo, e poi &&
Ecco perché le parentesi devono essere in posti appropriati.
Tuttavia...
stagnoHo controllato il primo post in matcad. La risposta è 1 0 1 1
Ecco il codice
Ad essere onesti, non ho mai memorizzato la priorità delle operazioni logiche e bitwise. Per pigrizia innata ho solo messo le parentesi nei posti giusti.
"C'è molto, amico Horace...."