Проблема в том, что там в основном используется 6-ти байтный real (в delphi его заменили на 8-ми байтный и ныне он синоним double).
Так вот как все-таки преборазовать его в чего-нить приличное (float, double).
Пишу на visual C++ и поэтому советы типа: "а напиши дельфевую компоненту и юзай" не подойдут.
Максимум чего я раскопал про real это то, что у него 1 бит — знак; след. 39 бит — это мантисса. И последние 8 — порядок.
Помогите, очень надо !!!
Re: 6-ти байтный real в С++
От:
Аноним
Дата:
19.05.04 08:38
Оценка:
В С/С++ нет такого типа real. Чтобы преобразовать из файла, созданного программой на паскале, ИМХО тебе придется повозиться — посмотреть, как устроен real (или как его там в паскале), затем почитать какой-нить там IEEE 7xxx или что — то в этом роде — стандарт вещественных чисел, который использует вижуал (в мсдн он подробно описан), и конвертировать.
Здравствуйте, svix, Вы писали:
S>Нужно прочитать файл с паскалевскими записями.
S>Проблема в том, что там в основном используется 6-ти байтный real (в delphi его заменили на 8-ми байтный и ныне он синоним double). S>Так вот как все-таки преборазовать его в чего-нить приличное (float, double). S>Пишу на visual C++ и поэтому советы типа: "а напиши дельфевую компоненту и юзай" не подойдут. S>Максимум чего я раскопал про real это то, что у него 1 бит — знак; след. 39 бит — это мантисса. И последние 8 — порядок.
S>Помогите, очень надо !!!
По-моему проще написать на паскале конвертилку из бинарного файла в текстовый. Тогда вообще не будет никаких заморочек. Ни с выравниванием, ни с real.
> Проблема в том, что там в основном используется 6-ти байтный real (в delphi его заменили на 8-ми байтный и ныне он синоним double). > Так вот как все-таки преборазовать его в чего-нить приличное (float, double).