[Python-de] Re: Division von Gleitkommazahlen
"Martin v. Löwis"
martin at v.loewis.de
Mon Mai 31 21:23:42 CEST 2004
Frank Hildesheim wrote:
> das mit den halben Bytes stimmt natürlich, aber ich brauche ja gerade
> das exakte Ergebnis der Division, also eine Gleitkommazahl, die mir z.B.
> umgekehrt das genau Vielfache einer Dateigröße angibt.
[...]
> Ist wohl etwas ungenau formuliert, kann es aber nicht näher beschreiben!
Nein, das ist sehr genau definiert. Du willst eine Zahl Q, so dass
(gegeben A und B), Q*B = A.
Leider kann man Dir diesen Wunsch mit Gleitkommazahlen nicht erfüllen,
wenigstens dann nicht, wenn B keine Zweierpotenz ist. Das liegt nicht
an Python, sondern an Gleitkommazahlen.
Deshalb darfst Du keine Gleitkommazahlen verwenden.
Allerdings ist in Deinem Python-Algorithmus ein Fehler: Statt
Datei1 = Wert1 in Byte
Datei2 = Wert2 in Byte
Ergebis = float( Wert1 / Wert2)
irgendeinBefehl -Faktor(Ergebnis)
solltest Du schreiben
Datei1 = Wert1 in Byte
Datei2 = Wert2 in Byte
Ergebis = float(Wert1) / float(Wert2)
irgendeinBefehl -Faktor(Ergebnis)
Ansonsten ist nämlich Wert1/Wert2 eine Ganzzahldivision, bei der
der ohnehin schon angenäherte Quotient noch auf die nächste ganze
Zahl gerundet wird.
Ciao,
Martin