Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 116
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
(stanco) se questo fosse il problema, l'errore "'k' - redefinition; different type modifiers" apparirebbe, ma non è nello screenshot. Quindi al compilatore non interessa e non è questo il problema.
Bene, bene...
Bene, bene...
Beh, provate a compilarlo voi stessi. Se non sei troppo pigro per scrivere post su questo argomento sul forum, dovresti essere troppo pigro per metterlo in un editor e premere F7. È molto più veloce.
Modo veloce per calcolare il logaritmo binario di un intero. Funziona 3-5 volte più veloce di MathLog.
Modo veloce per calcolare il logaritmo binario di un intero. Funziona 3-5 volte più veloce di MathLog.
Io uso una funzione come questa (puro sciamanesimo, ma funziona):
Entrambe le funzioni danno la stessa risposta corretta, non ho trovato errori.
È interessante confrontare la velocità di funzionamento. La mia versione ha un po' meno operazioni di spostamento e di addizione, ma c'è la moltiplicazione alla fine. La versione di Alexey ha un po' più operazioni di spostamento e di addizione, ma nessuna moltiplicazione. In che modo è più veloce?
La mia versione ha un po' meno operazioni di spostamento e di addizione, ma non di moltiplicazione; quella di Alexey ha un po' più operazioni di spostamento e di addizione, ma non di moltiplicazione. In che modo è più veloce?
Ho un massimo di 6 operazioni di shift e di addizione (ricerca binaria).Shift (ulong)1<<k non conta, perché è una costante. L'unica cosa è che controlliamo anche le condizioni. Ma ci sono sempre 6 operazioni, più la moltiplicazione, più un ulteriore spostamento e l'accesso all'array gestito (cioè il controllo dell'indice). Quindi la tua versione sarà ovviamente più lenta per velocità :).
E la tua versione, naturalmente, sembra misteriosa).
p.s. Ho un'ipotesi, che se il mio codice potesse essere srotolato in una catena di confronti via if-else, liberandosi di tutte le operazioni aritmetiche, velocizzerebbe enormemente le cose. Ma sarebbe un gran casino di codice. Se solo si potesse usare la ricorsione nelle macro...
È interessante confrontare la velocità.
La variante log2 è più veloce.
Quindi l'opzione log2 è più veloce.
Capito.
Sostituzione della mia funzione.