[Python-de] Da Staunt der Leihe

Walter Dörwald walter at livinglogic.de
Wed Mar 12 16:50:16 EST 2003


Fritz Cizmarov wrote:

> Am Wed, 12 Mar 2003 14:30:41 +0100
> Schrieb Walter Dörwald <walter at livinglogic.de>:
> 
>> [...]
>>Probier's mal mit float("inf"). Das string-Modul sollte man
>>sowieso nicht mehr verwenden.
>
 > [...]
> 
> gibts dazu auch wo informationen, das inf kommt mir grad das erste mal
> unter. Mir ist schon klar, das inf für infiniter also unendlicher Wert
> steht, aber in den vielen Jahren, die ich mich mit Programmierung und
> den versheidensten Programmiersprachen beschäftige ist mir das noch
> nicht begegnet.

Objects/floatobject.c::PyFloat_FromString() ruft im wesentlichen
strtod() auf.

"man strtod" liefert bei mir (Red Hat 7.keks) unter anderem:

"""
The expected form of the (initial portion of the) string is
optional leading white space as recognized by isspace(3),
an optional plus (``+'')  or minus sign (``-'') and then
either (i) a decimal number, or (ii) a hexadecimal number,
or (iii) an infinity, or (iv) a NAN (not-a-number).
...
An infinity is either ``INF'' or ``INFINITY'',
disregarding case.

A NAN is ``NAN'' (disregarding case) optionally followed by
`(', a sequence of characters, followed by ')'. The character
string specifies in an implementation-dependent way the
type of NAN.
"""

>>>>1.0 / float("inf")
> 
> 0.0
> 
 > [...]

Der Rest ist Float-Arithmetik, da sollte sich unter dem
Stichwort "IEEE-754" was finden lassen. Oder Du löcherst
Tim Peters! ;)

Bis demnächst,
    Walter Dörwald





More information about the Python-de mailing list