zapisywanie liczb do pliku a później ich odczytywanie - rozmiar typu

0

Witam, nie jestem biegły w programowaniu ale ciekawi mnie takie coś:
możemy napisać program np.w C++, który będzie zapisywać liczby do pliku. Liczby te będą zapisane w postaci binarnej. Jak powszechnie wiadomo wielkość typu może być różna w różnych językach/kompilatorach. Np. typ double może mieć 4 lub 8 bajtów. Zastanawia mnie czy jeśli w jednym języku zapiszemy sobie liczby double do pliku, które będą miały 8 bajtów to jak je później odczytać w innym języku, który dla typu double rezerwuje 4 bajty? czy w takim wypadku trzeba będzie ucinać połowę bajtów w tych liczbach?
Tzn. może trochę jaśniej co jeśli zapiszemy jakąś tablicę liczb np. 1.0, 2.0, 3.0... 10.0 w pliku, gdy każda z tych liczb zajmuje 8 bajtów a następnie będziemy chcieli ją odczytać programem, w którym double to 4 bajty? czy wówczas należy odczytać 4 bajty z pierwszej liczby, przeskoczyć o 4 bajty i pobrać kolejne 4 bajty i znowu przeskoczyć itd?
z góry dzięki za pomoc

0

nie.

zobacz jak wygląda double 8-bajt (IEEE754 double), a jak double 4-bajt (albo float) (IEEE754 single):
http://pl.wikipedia.org/wiki/IEEE_754

jeśli to konieczne i nie da się tego ominąć, trzeba by napisać funkcję konwertującą, trochę zabawy z bitami będzie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1