[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 83

 
Geowind64:

Roman, gracias por la respuesta..... Por desgracia, sigo sin entender una cosa. En el libro de texto, https://book.mql4.com/ru/basics/expressions, en el apartado "Type Adduction". Opción 4.1. Calcular el resultado de un tipo entero

y la variante 4.2. Una situación similar ocurre cuando se busca un resultado como un valor de tipo real", se da la misma fórmula, pero en un caso, el tipo de la variable F se denota como int

y en el segundo ejemplo, la variable es doble

Por desgracia, sigo sin entender la lógica de la conversión. Si en la primera variante está claro por qué se asigna int a la variable F (es decir, según la regla de conversión de tipos implícita), entonces por qué se asigna double.... en la segunda variante me confunde totalmente.

Por favor, aclare lo que pueda haber pasado por alto en mis explicaciones aquí.

Gracias de antemano.

Bueno, hay cosas bastante complejas que describen las peculiaridades del trabajo del compilador que no son realmente necesarias en la práctica. Se pueden omitir con seguridad.

Lo único que tenemos que sacar de él

  • si una expresión contiene operandos de diferentes tipos, el tipo de expresión se convierte en el tipo con mayor prioridad; los tipos int, bool, color y datetime tienen igual prioridad, el tipo double - mayor prioridad, el tipo string - mayor prioridad;
  • si el tipo de la expresión a la derecha del signo de la operación de asignación no coincide con el tipo de la variable a la izquierda del signo de la operación de asignación, entonces el valor de la expresión se convierte en el tipo de la variable a la izquierda del signo de la operación de asignación; esto se denomina conversión al tipo objetivo;
  • La conversión de valores de cadena a cualquier otro tipo de destino está prohibida.

En cuanto a los ejemplos, basta con escribir los tipos

int = double + int (Todo lo que está diciendo es que el int a la derecha del signo más se convierte en double, luego los operandos se suman y luego el resultado se convierte al tipo de la variable que se asigna)

double = double + int (más o menos lo mismo, sólo que sin la última conversión, el double se asigna inmediatamente)

 
Roman.:

Chicos, ¿qué significa #INF - está fuera del rango permitido del doble? ver la segunda línea desde arriba (cuenta el producto del doble TWR, es decir, su valor anterior se multiplica por el siguiente). ¿Cómo es correcto contar esos valores tomados por la variable TWR?

Me pregunto. ¿Puede aparecer también un día #INF en lugar de balance? :) :) :)

 
Roman.:

Chicos, ¿qué significa #INF - está fuera del rango permitido del doble? ver la segunda línea desde arriba (cuenta el producto del doble TWR, es decir, su valor anterior se multiplica por el siguiente). ¿Cuál es la forma correcta de contar esos valores tomados por la variable TWR?

infinito... sólo puede tratarse reduciendo el apetito, los valores de TWR son demasiado grandes.
 
splxgf:
el infinito es el infinito... sólo se cura reduciendo el apetito, los valores de TWR son demasiado altos.

¿Ah, sí?

Algunos Smarties no dan la vuelta a la montaña, sino que van al revés, ¡sólo que cuesta arriba y cuesta arriba! :)))))

 
MaxZ:

Me pregunto. ¿Podría aparecer también #INF en lugar de balance? :) :) :)


No tiene gracia. Prefiero tener algo que hacer...

 
splxgf:
Esto es el infinito... sólo puede tratarse reduciendo las apetencias, los valores de TWR son demasiado altos.


¿Qué hacer?

ver aquí - es todo allí, todo por el libro ... Todos los apetitos se ajustan estrictamente a la metodología de R. Vince.

 
Roman.:


No tiene gracia. Será mejor que vayas al grano...

He escrito mi sugerencia en la página anterior.

 
Roman.:


¿Qué hacer?

ver aquí - es todo allí, todo por el libro ... Todos los apetitos se ajustan estrictamente al método de R. Vince.


Quizá en la semana se me ocurra una forma mejor de hacerlo. Pero estoy ocupado con mi tarea la mayor parte de mi tiempo libre.
 
Vinin:

Quizá en la semana piense en la mejor manera de hacerlo. Pero estoy ocupado con mi tarea la mayor parte de mi tiempo libre.

Gracias, Víctor.
 
MaxZ:

He escrito mi sugerencia en la página anterior.


Lo siento, no me di cuenta... :-)))

Lo he comprobado varias veces: no hay errores, todo se ajusta estrictamente a las fórmulas.

Aparentemente, es necesario dividir el producto en partes y luego compararlas... Lea más aquí.