[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 83

 
Geowind64:

Roman, grazie per la risposta..... Purtroppo non ho ancora capito una cosa. Nel libro di testo, https://book.mql4.com/ru/basics/expressions, sotto "Type Approach. Opzione 4.1. Calcolare il risultato di un tipo intero

e la variante 4.2. Una situazione simile si verifica quando si cerca un risultato come valore di un tipo reale", la stessa formula è data, ma in un caso, il tipo della variabile F è denotato come int

e nel secondo esempio, la variabile è doppia

Purtroppo, continuo a non capire la logica della conversione. Se nella prima variante è chiaro perché int è assegnato alla variabile F (cioè, secondo la regola della conversione implicita dei tipi), allora perché double.... è assegnato nella seconda variante mi confonde totalmente.

Per favore, chiarite cosa posso essermi perso nelle mie spiegazioni qui?

Grazie in anticipo.

Beh, ci sono cose piuttosto complesse che descrivono le peculiarità del lavoro del compilatore che non sono realmente necessarie nella pratica. Possono essere tranquillamente saltati.

L'unica cosa che dobbiamo togliere

  • se un'espressione contiene operandi di tipi diversi, il tipo dell'espressione viene convertito al tipo con priorità più alta; i tipi int, bool, color e datetime hanno priorità uguale, il tipo double - priorità più alta, il tipo string - la priorità più alta;
  • se il tipo dell'espressione a destra del segno dell'operazione di assegnazione non corrisponde al tipo della variabile a sinistra del segno dell'operazione di assegnazione, allora il valore dell'espressione viene castato al tipo della variabile a sinistra del segno dell'operazione di assegnazione; questo è chiamato un cast al tipo target;
  • la conversione di valori di stringa in qualsiasi altro tipo di destinazione è proibita.

Per quanto riguarda gli esempi, scrivete semplicemente i tipi

int = double + int (Tutto quello che stai dicendo è che l'int a destra del segno più è convertito in double, poi gli operandi sono sommati e poi il risultato è convertito nel tipo della variabile assegnata)

double = double + int (più o meno la stessa cosa, solo che senza l'ultima conversione, il double viene assegnato immediatamente)

 
Roman.:

Ragazzi, cosa significa #INF - è fuori dall'intervallo consentito del doppio? vedere la seconda linea dall'alto (conta il prodotto del doppio TWR, cioè il suo valore precedente è moltiplicato per quello successivo). Come è corretto contare quei valori presi dalla variabile TWR?

Mi chiedo. Che anche #INF possa apparire un giorno al posto dell'equilibrio? :) :) :)

 
Roman.:

Ragazzi, cosa significa #INF - è fuori dall'intervallo consentito del doppio? vedere la seconda linea dall'alto (conta il prodotto del doppio TWR, cioè il suo valore precedente è moltiplicato per quello successivo). Qual è il modo corretto di contare quei valori presi dalla variabile TWR?

infinito... può essere trattato solo riducendo l'appetito, i valori di TWR sono troppo grandi.
 
splxgf:
l'infinito è l'infinito... si cura solo riducendo l'appetito, i valori TWR sono troppo alti.

Oh, davvero?

Alcuni Smarties non fanno il giro della montagna, vanno al contrario, solo in salita e in salita! :)))))

 
MaxZ:

Mi chiedo. Potrebbe mai apparire anche #INF al posto dell'equilibrio? :) :) :)


Non è divertente. Preferirei avere qualcosa da fare...

 
splxgf:
Questo è l'infinito... può essere trattato solo riducendo gli appetiti, i valori TWR sono troppo alti.


Cosa fare?

vedi qui - è tutto lì, tutto secondo le regole... Tutti gli appetiti sono strettamente in linea con la metodologia di R. Vince.

 
Roman.:


Non è divertente. È meglio che arrivi al punto...

Ho scritto il mio suggerimento nella pagina precedente.

 
Roman.:


Cosa fare?

vedi qui - è tutto lì, tutto secondo le regole... Tutti gli appetiti sono rigorosamente in linea con il metodo di R. Vince.


Forse in settimana penserò a un modo migliore per farlo. Ma occupato con il mio compito la maggior parte del mio tempo libero.
 
Vinin:

Forse in settimana penserò al modo migliore per farlo. Ma occupato con il mio compito la maggior parte del mio tempo libero.

Grazie, Victor.
 
MaxZ:

Ho scritto il mio suggerimento nella pagina precedente.


Scusa, non ci avevo fatto caso... :-)))

L'ho controllato diverse volte - non ci sono errori, tutto è rigorosamente secondo le formule.

A quanto pare, è necessario dividere il prodotto in parti e poi confrontarle... Leggi di più qui.