¿Qué es inf y nan?
Solo una pregunta sobre la que estoy un poco confundido
Así que estaba jugando con float('inf')
y me preguntaba para qué se usa.
También me di cuenta de que si agrego -inf + inf
consigo nan
es lo mismo que Cero o no.
Estoy confundido acerca de cuáles son los usos de estos dos valores.
También cuando lo hago nan - inf
No consigo -inf
Consigo nan
Estoy seguro de que todo es bastante simple, pero me tropecé con ellos y no sabía lo que hacían.
4 answers
inf
es infinito-un valor que es mayor que cualquier otro valor. -inf
es por lo tanto más pequeño que cualquier otro valor.
nan
significa No Un Número, y esto no es igual a 0
.
Aunque se puede decir que el infinito positivo y negativo es simétrico alrededor de 0
, lo mismo se puede decir para cualquier valor n
, lo que significa que el resultado de agregar los dos rinde nan
. Esta idea se discute en este math.se pregunta .
Porque nan
no es (literalmente) un número, no se puede hacer aritmética con él, por lo que el resultado de la segunda operación tampoco es un número (nan
)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:19:15
Inf
es infinito, es un número "más grande que todos los otros números". Intenta restarle todo lo que quieras, no se hará más pequeño. Todos los números son < Inf
. -Inf
es similar, pero más pequeño que todo.
NaN
significa no-un-número. Si intentas hacer un cálculo que simplemente no tiene sentido, obtienes NaN
. Inf - Inf
es uno de esos cálculos. Por lo general, NaN
se usa solo para significar que faltan algunos datos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-13 09:05:07
nan
significa "no es un número", un valor flotante que se obtiene si se realiza un cálculo cuyo resultado no se puede expresar como un número. Cualquier cálculo que realice con NaN
también resultará en NaN
.
inf
significa infinito.
Por ejemplo:
>>> 2*float("inf")
inf
>>> -2*float("inf")
-inf
>>> float("inf")-float("inf")
nan
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-13 09:03:05
Usted dice:
Cuando hago
nan - inf
i dont get-inf
i getnan
Esto se debe a que cualquier operación que contenga NaN
como un operando devolvería NaN
.
Una comparación con NaN
devolvería un resultado desordenado.
>>> float('Inf') == float('Inf')
True
>>> float('NaN') == float('NaN')
False
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-13 09:16:47