Thread View: pl.comp.lang.java
3 messages
3 total messages
Started by Borneq
Thu, 24 Apr 2014 17:29
Big Endian a liczba zmiennoprzecinkowa
Author: Borneq
Date: Thu, 24 Apr 2014 17:29
Date: Thu, 24 Apr 2014 17:29
11 lines
1464 bytes
1464 bytes
Java używa Big Endian więc zapis/odczyt z pliku binarnego będzie szybszy, jeśli dane będą miały bajty w tej kolejności. Tak jest dla integerów 2,4,8 bajtowych. A jak jest w przypadku gdy Java zapisze 4 lub 8 bajtową liczbę zmiennoprzecinkową do pliku? Czy wtedy ta liczba jest taka sama jak zapisana np. w Delphi - dokładne odwzorowanie pamięci, czy dokładnie odwrócone bajty 0-7 na 7-0 intelowskiego single lub double. W jaki najefektywniejszy sposób zapisywać i odczytywać z pliku binarnego w Javie surowe dane pogrupowane w rekordy, gdy wiadomo że Java nie ma rekordów? Przykładowo chcę odczytać dane z pliku .shp gdzie są dane zmiennoprzecinkowe.
Re: Big Endian a liczba zmiennoprzecinkowa
Author: Krzysztof Rudnik
Date: Thu, 24 Apr 2014 18:51
Date: Thu, 24 Apr 2014 18:51
17 lines
1684 bytes
1684 bytes
Borneq wrote: > Java używa Big Endian więc zapis/odczyt z pliku binarnego będzie > szybszy, jeśli dane będą miały bajty w tej kolejności. Tak jest dla > integerów 2,4,8 bajtowych. A jak jest w przypadku gdy Java zapisze 4 lub > 8 bajtową liczbę zmiennoprzecinkową do pliku? Czy wtedy ta liczba jest > taka sama jak zapisana np. w Delphi - dokładne odwzorowanie pamięci, czy > dokładnie odwrócone bajty 0-7 na 7-0 intelowskiego single lub double. > W jaki najefektywniejszy sposób zapisywać i odczytywać z pliku binarnego > w Javie surowe dane pogrupowane w rekordy, gdy wiadomo że Java nie ma > rekordów? > Przykładowo chcę odczytać dane z pliku .shp gdzie są dane > zmiennoprzecinkowe. Zainteresuj się klasą ByteBuffer z java.nio. Można ustawić endian i dość swobodnie interpretować surowe bajty. Floaty i double mają ustaloną budowę zgodną z jakąś normą IEEE.
Re: Big Endian a liczba zmiennoprzecinkowa
Author: Borneq
Date: Sun, 27 Apr 2014 05:53
Date: Sun, 27 Apr 2014 05:53
6 lines
1214 bytes
1214 bytes
W dniu 2014-04-24 20:51, Krzysztof Rudnik pisze: > Zainteresuj się klasą ByteBuffer z java.nio. Można ustawić endian i dość > swobodnie interpretować surowe bajty. > Floaty i double mają ustaloną budowę zgodną z jakąś normą IEEE. Czy z ByteBuffer wydajnościowo bez różnicy jaki endian?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads