2011-02-18 10 views
7

¿Qué hacen estos operadores en D 2.0:¿Qué hacen estos operadores en D 2.0: <> =! <> =! <= !> =

  • <>=
  • !<>=
  • !<=
  • !>=
+0

Cuando su título contiene toda la pregunta, lo más probable es que quiera ser un poco más prolijo en su pregunta ;-) –

+0

@Joachim: Jaja, está bien. Simplemente no sentí que podría haber agregado algo a la pregunta repitiendo el título, pero de todos modos gracias por la edición. :) – Mehrdad

+1

podría haber agregado a la legibilidad. En la fuente del título, es difícil ver qué personajes se unen y forman un operador, por ejemplo. –

Respuesta

7

Se utilizan para los valores que podrían ser desordenada, como NaN para carrozas y dobles. 1 <>= NaN se evalúa como falso, mientras que x <>= y se evalúa como verdadero para cualquier par de números, siempre que ninguno de los dos números sea NaN. Los otros operadores que menciona funcionan igual, mutatis mutandis.

+2

Enlace a la documentación: http://www.digitalmars.com/d/2.0/expression.html#floating_point_comparisons – stephan

+0

¡Gracias! : D @stephan: ¡Gracias por el enlace! Pensé que había buscado en todas partes (la página léxica, la página de sobrecarga del operador, etc.) pero aparentemente me lo había perdido. – Mehrdad

2

La respuesta larga:

Cuando se trata de coma flotante, dos valores se comparan como uno de A<B, A=B, A>B o no ordenada (si uno es NaN).

Los operadores representan cada fila interesante (no constante) en the truth table. Pueden interpretarse como pruebas verdaderas para cada uno de los casos para los que el operador tiene el carácter correspondiente, a menos que tenga ! en cuyo caso el valor se invierte.

1

Son operadores de comparación en D, al igual que ==, < y >=. En D, se tiene en cuenta el valor nan (no un número). Dos números de coma flotante no solo pueden comparar menos, igual o mayor, sino también desordenado, que es el caso, si uno de los comparables es nan.

Por lo tanto, <>= significa menos, igual o mayor. En otras palabras, <>= significa ordenado.

Los operadores de comparación que comienzan con ! devuelven exactamente lo contrario de su contraparte sin !. En particular, todos evalúan a true, si uno de los comparables es nan.

Aquí está una lista completa de todos los operadores de comparación en D:

  • ==
  • !=
  • >
  • >=
  • <
  • <=
  • !<>=
  • <>
  • <>=
  • !<=
  • !<
  • !>=
  • !>
  • !<>

Puede encontrar esta lista en the D documentation. Aquí se explican los comportamientos de todos estos operadores.