[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 83

 
Geowind64:

Roman, obrigado pela resposta..... Infelizmente, eu ainda não entendo uma coisa. No livro didático, https://book.mql4.com/ru/basics/expressions, em "Type Approach". Opção 4.1. Cálculo do resultado de um tipo inteiro

e Variante 4.2 . Uma situação semelhante ocorre quando se procura um resultado como um valor de um tipo real", a mesma fórmula é dada, mas em um caso, o tipo da variável F é denotado como int

e no segundo exemplo, a variável é o dobro

Infelizmente, eu ainda não entendo a lógica da conversão. Se na primeira variante é claro por que int é atribuído à variável F (isto é, de acordo com a regra de conversão do tipo implícito), então por que double.... é atribuído na segunda variante me confunde totalmente.

Por favor, esclareça o que eu possa ter perdido em minhas explicações aqui?

Obrigado de antemão.

Bem, há coisas bastante complexas descrevendo as peculiaridades do trabalho do compilador que não são realmente necessárias na prática. Eles podem ser pulados com segurança.

A única coisa que temos que tirar dele

  • se uma expressão contém operandos de diferentes tipos, o tipo de expressão é convertido para o tipo com prioridade mais alta; os tipos int, bool, cor e datetime têm prioridade igual, o tipo duplo - prioridade mais alta, o tipo string - a prioridade mais alta;
  • se o tipo da expressão à direita do sinal de operação de atribuição não corresponder ao tipo da variável à esquerda do sinal de operação de atribuição, então o valor da expressão é lançado para o tipo da variável à esquerda do sinal de operação de atribuição; isto é chamado de tipo lançado para o tipo alvo;
  • é proibida a conversão de valores de cadeia para qualquer outro tipo de alvo.

Quanto aos exemplos, basta escrever os tipos

int = duplo + int (Tudo o que você está dizendo é que int à direita do sinal de mais é convertido em duplo, então os operandos são somados e então o resultado é convertido para o tipo da variável que está sendo atribuída)

duplo = duplo + int (mais ou menos o mesmo, somente sem a última conversão, o dobro é imediatamente atribuído)

 
Roman.:

Pessoal, o que significa #INF - está fora do intervalo permitido de duplo? ver a segunda linha do topo (conta o produto do duplo TWR, ou seja, seu valor anterior é multiplicado pelo seguinte). Como é correto contar esses valores tomados pela variável TWR?

Eu me pergunto. Pode #INF aparecer um dia em vez de equilíbrio também? :) :) :)

 
Roman.:

Pessoal, o que significa #INF - está fora do intervalo permitido de duplo? ver segunda linha do topo (conta o produto do duplo TWR, ou seja, seu valor anterior é multiplicado pelo seguinte). Qual é a maneira correta de contar esses valores tomados pela variável TWR?

infinito... só pode ser tratado reduzindo o apetite, os valores de TWR são muito grandes.
 
splxgf:
infinito é infinito... só é curado pela redução do apetite, os valores de TWR são muito altos.

Ah, realmente?

Alguns Smarties não dão a volta à montanha, eles vão para o outro lado, só subindo e subindo a montanha! :)))))

 
MaxZ:

Eu me pergunto. Poderia #INF aparecer em vez de equilíbrio também? :) :) :)


Não tem graça. Prefiro ter algo a fazer...

 
splxgf:
Isto é infinito... só pode ser tratado reduzindo os apetites, os valores de TWR são muito altos.


O que fazer?

veja aqui - está tudo bem aí, tudo pelo livro... Todos os apetites - estritamente de acordo com a metodologia de R. Vince.

 
Roman.:


Não tem graça. É melhor você ir direto ao assunto...

Eu escrevi minha sugestão na página anterior.

 
Roman.:


O que fazer?

veja aqui - está tudo bem aí, tudo pelo livro... Todos os apetites estão estritamente de acordo com o método de R. Vince.


Talvez na semana eu pense em uma maneira melhor de fazer isso. Mas ocupado com minha tarefa a maior parte do meu tempo livre.
 
Vinin:

Talvez na semana eu pense na melhor maneira de fazer isso. Mas ocupado com minha tarefa a maior parte do meu tempo livre.

Obrigado, Victor.
 
MaxZ:

Escrevi minha sugestão na página anterior.


Desculpe, não percebi... :-)))

Eu verifiquei várias vezes - não há erros, tudo está estritamente de acordo com as fórmulas.

Aparentemente, é necessário dividir o produto em partes e depois compará-las. Leia mais aqui.

Razão: