Hallo Leute,
ich weiß, wir sind hier in einem .net Forum, dies ist jedoch eine reine Logik sache (die bits und bytes sind ja schließlich gleich) und von .net auf java kann ich es selber übersetzten.
Die Überlegung ist, dass ich sehr viele Gleitkommerzahlen (~10.000.000) (in Java ist die "kleineste" Gleitkommerzahl float mit 32 bit HIER NACHZULESEN) abspeichern muss. Da es auf Android passieren sollte und somit ich nicht wirklich eine Datenbank benutzen möchte, würde ich diese Zahlen, im Format von minimum 0 bis maximal 200 mit max. 2 Nachkommerstellen, in eine Datei speichern. Diese würden jedoch bei 32 bit ca. 40 mb belegen. Es wäre absolut unötig belegter Speicherplatz, da float von +/-1,4E-45 ... +/-3,4E+38 reicht ich jedoch nur eine Zahl bis 200 mit max 2 Nachkommerstellen benötige.
Meine Überlegung dazu wäre nun einfach, dass ich die bekommene Zahl x 100 rechne und diese als Short (16 bit) abspeichere (1/2 Platz eingespart).
Doch ich finde die Hälfte ist in diesem Falle trotzdem zu viel. (nicht wegen den 20 mb, sondern aus Prinzip)
Hat jemand von euch eine bessere Überlegung diese Daten (ohne Verluste) zu speicher?
ich weiß, wir sind hier in einem .net Forum, dies ist jedoch eine reine Logik sache (die bits und bytes sind ja schließlich gleich) und von .net auf java kann ich es selber übersetzten.
Die Überlegung ist, dass ich sehr viele Gleitkommerzahlen (~10.000.000) (in Java ist die "kleineste" Gleitkommerzahl float mit 32 bit HIER NACHZULESEN) abspeichern muss. Da es auf Android passieren sollte und somit ich nicht wirklich eine Datenbank benutzen möchte, würde ich diese Zahlen, im Format von minimum 0 bis maximal 200 mit max. 2 Nachkommerstellen, in eine Datei speichern. Diese würden jedoch bei 32 bit ca. 40 mb belegen. Es wäre absolut unötig belegter Speicherplatz, da float von +/-1,4E-45 ... +/-3,4E+38 reicht ich jedoch nur eine Zahl bis 200 mit max 2 Nachkommerstellen benötige.
Meine Überlegung dazu wäre nun einfach, dass ich die bekommene Zahl x 100 rechne und diese als Short (16 bit) abspeichere (1/2 Platz eingespart).
Doch ich finde die Hälfte ist in diesem Falle trotzdem zu viel. (nicht wegen den 20 mb, sondern aus Prinzip)
Hat jemand von euch eine bessere Überlegung diese Daten (ohne Verluste) zu speicher?
Mit freundlichen Grüßen
GVI (Teil1/2): 80%