Seite 1 von 1
18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 10:24
von pommesMajo
Hallo Forum,
ich stehe ganz am Anfang, lerne gerade die Basics von Python.
Warum gibt mir 18446744073709551615 / 3 einen falschen Wert aus, wo doch die einzige Grenze mein (RAM - Win) sei?
Der Win-Taschenrechner gibt 6.148.914.691.236.517.205, Python jedoch 6148914691236516864.
long() gibt es nicht mehr.
Danke schon Mal
Re: 18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 11:20
von Sirius3
Das nennt sich Rechenungenauigkeit. Die Grenze bei Fließkommazahlen sind ungefähr 15 Dezimalstellen, Deine Zahl hat aber 20. Also werden die letzten 5 Ziffern nicht exakt gespeichert.
Was Du meinst ist Ganzzahlberechnung:
Dort hat mal beliebig viele Stellen, aber halt keine hinter dem Komma.
Re: 18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 12:52
von __blackjack__
Also bei mir wird das Ergebnis als 6.148914691236517e+18 dargestellt, es wäre also auch interessant bei so etwas zu zeigen was genau gemacht wurde.
Re: 18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 12:53
von pommesMajo

ganz am Anfang
Danke!!!
Re: 18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 15:44
von /me
Wichtig: Die Sache mit den ungenauen Fließkommaberechnungen ist kein Python-"Problem". Das ist in jeder Programmiersprache so, die den
IEEE 754 Standard verwendet und damit so ziemlich jede.
Re: 18446744073709551615 / 3
Verfasst: Dienstag 26. April 2022, 16:00
von sparrow
Uuund: es hat nichts mit deinem Speicher zu tun.