
Hallo an alle, vielen Dank für den Tipp mit den Strings in os.system("Befehlxyz"). Eine Frage noch nebenbei zur Division mit float(xyz): Ich habe Python zwei float(Werte) dividieren lassen -> float(wert1 / wert2) und das Ergebnis mit Kcalc (Kde3.2) verglichen, Python zeigt nur etwa 6 Kommastellen an, ich brauche aber das Ergebnis so genau wie möglich! Gibt es eine Möglichkeit Python noch genauer rechnen zu lassen (Byte-Größen von Dateien, es muß sehr genau sein). Es grüßt Frank aus LE. _________________________________________________________________ E-Mails sind Ihnen nicht schnell genug? http://www.msn.de/messenger MSN Messenger - Kommunikation in Echtzeit _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Frank Hildesheim wrote:
Sowohl Python als auch Kcalc verwenden beide die gleiche interne Darstellung von Gleitkommazahlen, nämlich die 64-bit-IEEE-754-Darstellung. Diese hat eine feste Genauigkeit von 53 bits Nachkommastellen. Wieviele davon im Dezimalsystem verwendbar sind, hängt natürlich auch von der Zahl der Vorkommastellen ab. Du kannst mit dem %-Operator eine Formatierung sehr vielen Nachkommastellen fordern. Allerdings ändert die Formatierung nichts daran, dass die Genauigkeit der internen Repräsentation auf 53 bits beschränkt ist:
"%.30f" % (1.0/3) '0.333333333333333314829616256247'
Gibt es eine Möglichkeit Python noch genauer rechnen zu lassen (Byte-Größen von Dateien, es muß sehr genau sein).
Wenn Du es genau haben willst, darfst Du keine Gleitkommazahlen verwenden. Für die Größe von Dateien bieten sich ganze Zahlen (integer) an: man hat sowieso nie halbe Bytes, immer nur ganze. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

On Monday 31 May 2004 19:33, Martin v. Löwis wrote:
Frank Hildesheim wrote:
Würde ihm nicht auch ein 64-bit-Linux helfen? Oder gibt es kein 64-bit-Python? MfG Olaf _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Olaf 'Rübezahl' Radicke wrote:
Würde ihm nicht auch ein 64-bit-Linux helfen? Oder gibt es kein 64-bit-Python?
Nein, sieh auch PEP 242 http://www.python.org/peps/pep-0242.html: "Python currently has only one floating point type, equal to a C double in the C implementation." Nebenbei bemerkt hat die Angabe "64 bit" sowieso gar nichts mit der Bit-Länge der Float-Zahlen zu tun. Unter http://www.ibiblio.org/pub/languages/fortran/ch4-4.html gibt es eine Aufstellung der Float-Typen in Fortran für VAX und Alpha. Dort sihet man schön, dass es auch auf der VAX schon einen 16-Byte Float-Typ (H_FLOATING) gab. Und die VAX ist bekanntermassen ein 32-Bit-Prozessor. Interessanterweise war dieser Typ in der VAX in Hardware implementiert, im AXP gibt es ihn gar nicht mehr. -- Schönen Gruß - Regards Hartmut Goebel | Hartmut Goebel | IT-Security -- effizient | | h.goebel@goebel-consult.de | www.goebel-consult.de | _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Frank Hildesheim wrote:
Sowohl Python als auch Kcalc verwenden beide die gleiche interne Darstellung von Gleitkommazahlen, nämlich die 64-bit-IEEE-754-Darstellung. Diese hat eine feste Genauigkeit von 53 bits Nachkommastellen. Wieviele davon im Dezimalsystem verwendbar sind, hängt natürlich auch von der Zahl der Vorkommastellen ab. Du kannst mit dem %-Operator eine Formatierung sehr vielen Nachkommastellen fordern. Allerdings ändert die Formatierung nichts daran, dass die Genauigkeit der internen Repräsentation auf 53 bits beschränkt ist:
"%.30f" % (1.0/3) '0.333333333333333314829616256247'
Gibt es eine Möglichkeit Python noch genauer rechnen zu lassen (Byte-Größen von Dateien, es muß sehr genau sein).
Wenn Du es genau haben willst, darfst Du keine Gleitkommazahlen verwenden. Für die Größe von Dateien bieten sich ganze Zahlen (integer) an: man hat sowieso nie halbe Bytes, immer nur ganze. Ciao, Martin _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

On Monday 31 May 2004 19:33, Martin v. Löwis wrote:
Frank Hildesheim wrote:
Würde ihm nicht auch ein 64-bit-Linux helfen? Oder gibt es kein 64-bit-Python? MfG Olaf _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Olaf 'Rübezahl' Radicke wrote:
Würde ihm nicht auch ein 64-bit-Linux helfen? Oder gibt es kein 64-bit-Python?
Nein, sieh auch PEP 242 http://www.python.org/peps/pep-0242.html: "Python currently has only one floating point type, equal to a C double in the C implementation." Nebenbei bemerkt hat die Angabe "64 bit" sowieso gar nichts mit der Bit-Länge der Float-Zahlen zu tun. Unter http://www.ibiblio.org/pub/languages/fortran/ch4-4.html gibt es eine Aufstellung der Float-Typen in Fortran für VAX und Alpha. Dort sihet man schön, dass es auch auf der VAX schon einen 16-Byte Float-Typ (H_FLOATING) gab. Und die VAX ist bekanntermassen ein 32-Bit-Prozessor. Interessanterweise war dieser Typ in der VAX in Hardware implementiert, im AXP gibt es ihn gar nicht mehr. -- Schönen Gruß - Regards Hartmut Goebel | Hartmut Goebel | IT-Security -- effizient | | h.goebel@goebel-consult.de | www.goebel-consult.de | _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (4)
-
"Martin v. Löwis"
-
Frank Hildesheim
-
Hartmut Goebel
-
Olaf 'Rübezahl' Radicke