# Double Werte aus byte[] auslesen



## redbomber (12. Mrz 2009)

Hi zusammen,

ich lese bytes aus einem File aus dessen Anzahl an bytes mir bekannt ist.

Nun stecken die bytes in dem Array.
Die Werte die sich darin befinden sind Double, also immer 8byte ergibt einen Double Wert.

Kann ich irgendwie aus dem byte[] nun diese Double Werte auslesen?
Also wie kann ich immer 8 bytes nehmen und daraus einen Double Wert erzeugen?


----------



## daWonderer (12. Mrz 2009)

schau mal hier, da ist erklärt wie Kommazahlen gespeichert werden:

Gleitkommazahl ? Wikipedia


----------



## Marco13 (12. Mrz 2009)

Lies 8 bytes, verwurste die mit

```
long x = 
    (b0 << 0) |
    (b1 << 8) |
    ...
```
zu einem Long, und mach' dann Double (Java Platform SE 6)


----------



## thE_29 (12. Mrz 2009)

Wenn diese Datei von C/C++ geschrieben ist, dann ist es ziemlich wahrscheinlich, dass es für Java in verkehrter Reihenfolge ist!

Müsstest also von hinten durchgehen bis zum Anfang, aber so halt wie Marco13 geschrieben hat.


----------



## redbomber (12. Mrz 2009)

hey vielen Dank euch allen!!

@ thE_29
Ja, du ahnst nich wie lange ich den Fehler wo anders gesucht habe, hatte bisher einfach
readDouble() verwendet und völlig falsche Werte heraus bekommen...irgendwann kam ich dann auf little/big endian


----------



## thE_29 (13. Mrz 2009)

Jojo, diese Probleme sind immer lustig


----------

