Warum 0.1 + 0.2 Nicht 0.3 Ergibt: Gleitkommazahlen Erklärt
Führen Sie 0.1 + 0.2 in einer Python-Shell aus, kommt nicht 0.3 heraus, sondern 0.30000000000000004. Probieren Sie es in JavaScript, Java, Go, C oder Rust, und Sie bekommen denselben sechzehnstelligen Schwanz. Jede dieser Sprachen tut genau das, was der Hardware-Standard vorschreibt. Eine Zahl, die unendlich viele Binärstellen bräuchte, wird in 64 Bit gepresst, und irgendetwas muss nachgeben. Warum sich 0.1 nicht exakt binär speichern lässt Computer speichern Gleitkommazahlen zur Basis 2. In Basis 2 hat der Bruch 1/10 eine periodische Entwicklung, genau wie sich 1/3 in Basis 10 endlos wiederholt (0.3333...). Ausgeschrieben beginnt 0.1 binär so: ...