2011-03-18 9 views
5

Estoy tratando de comprender la naturaleza exacta de float cuando se trata de python. Aparentemente, las tiendas de Python flotan en un tipo PyFloatObject que contiene un double. Sin embargo, ¿cómo puedo obligarlo a comportarse como una variable de punto flotante de 32 bits? ¿Hay otro tipo de esto?python coma flotante naturaleza y la conversión a un tipo más pequeño

+2

¿Por qué quieres esto? –

+0

@Sven: pregunta del estudiante –

Respuesta

6

El tipo de Python incorporado float siempre usa doble precisión (a menos que compile una versión personalizada del intérprete). Se puede utilizar el módulo de array para conseguir los flotadores de 32 bits:

a = array.array("f") 

definirá una serie de flotadores de 32 bits.

El paquete NumPy externo también proporciona un tipo escalar de punto flotante de 32 bits, es decir, numpy.float32.

1

No hay un tipo incorporado en Python que se represente utilizando flotadores de 32 bits.

Sin embargo, vea la respuesta de Sven Marnach para las alternativas.

Cuestiones relacionadas