2011-08-10 7 views
6

Por curiosidad me encontré lo siguiente:Python pregunta sobre exponentes y int

>>> int(1e100) 

Y, la salida fue:

10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104L 

¿Por qué? ¿Por qué esto se ve como:

10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L 

Es esto un producto de la función int, o del almacenamiento de un gran long?

+0

probar este lugar: '10 ** 100' obtendrá lo que espera. No hay punto flotante involucrado en este método. – Keith

+0

@keith - gracias. No tengo una necesidad práctica para esto. Solo lo intenté por curiosidad. – orokusaki

Respuesta

1

Se convirtió a un flotador y luego se muestra como un número entero. Así que bienvenido al mundo imprecisa de redondeo

0

1E100 es un flotador (en general, mediante el flotador e implica):

>>> type (1e100) 
<type 'float'>