[python-nl] grote getallen met grote precisie
Evert Rol
evert.rol at gmail.com
Mon May 4 17:27:39 CEST 2009
>> Overigens heeft numpy nog een float128 type, maar ook daar zul je
>> vinden dat
>>>>> a = numpy.float128(1e22+1)
>>>>> b = numpy.float128(1e22)
>>>>> a == b
>> True
>
> Niet valsspelen, je moet de optelling natuurlijk wel in float128 doen
> en niet in Python float (64).
Oeps, even over het hoofd gezien.
En ik denk dat je er een 64 bits platform voor moet hebben, want
>>> numpy.float128(1.e22) + numpy.float128(1.) - numpy.float128(1.e22)
0.0
op mijn 32bit Mac.
Tenminste, ik zou denken dat ~30 significante cijfers genoeg zou
moeten zijn voor dit probleem.
> 64 bit floats met 53 bit mantissa zijn
> voldoende voor 17 cijfers. 128 bits moet dus zeker meer dan 30 cijfers
> zijn.
>
> Rob
More information about the Python-nl
mailing list