Ungerade Nachkommastellen binär darstellen?

Münchner

Aktives Mitglied
Servus,
ich soll hier -1/3 Binär darstellen.
Das wird ja eine endlos-Zahl, wie gehe ich denn da vor?

Ich kenne das Verfahren halt nur für Zahlen wie etwa 0,375 (zur Basis 10) = 0,011 (zur Basis 2), bei 0,33 beißts bei mir aber aus.

Hat jemand einen Tipp für mich?
Gruß
Münchner
 
S

SlaterB

Gast
und 1/3 kannst du doch genauso zerlegen,
0.5 ist nicht drin -> 0
0.25 ist drin -> 1
...

dass das ganze ewig weiter geht hast du selber schon gesagt, was soll man da noch hinzufügen?
höre nach 80 Stellen auf

auf die Dauer ist es dann wahrscheinlich schwieriger, die 1/3 + abgezogenen Bits überhaupt genaugenug dazustellen, double ist eher schwach,
wie genau soll es denn werden? BigDecimal hat beliebig viele Stellen und rechnet genau, dafür dann 100x langsamer
 
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
Wenn du immer nur Brüche hast oder daraus berechnen kannst, dann hast du eine Zahl mit endlich vielen Nachkommastellen, welche du abspeichern kannst.
 
S

SlaterB

Gast
oh ja, abstrakte Bruchrechnung könnte genauer werden als 1/3 als 0.3333333329286 in ein double zu zwängen
 

Münchner

Aktives Mitglied
ja ok, des klingt schon logisch mit der Darstellung, es war eben kein Limit angegeben, wie genau man das annähern sollte.
Wenn ich das jetzt in einfacher Genauigkeit darstellen soll, dann heißt das konkret für mich alle 23 Stellen der Mantisse vollzubekommen, ich sollte also nicht vorher aufhören, den Wert anzunähern, oder?
 

Münchner

Aktives Mitglied
OK in der Einfachdarstellung hab ich nun folgendes Ergebnis:
Vorzeichen: 1, weil negative Zahl
Exponent: 128 (zur Basis 10), weil 128-127 = 1: 1000.0000 (Basis 2)
Significand: 01001100110011001100110
Zusammengesetzt:
1 1000.0000 01001100110011001100110

sollte passen.
Vielen Dank für Eure Hilfe
 

Oben