|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
чтение чисел из файла
из файла мне надо считать число. оно занимает 5 байт. формат - двоичный без знака, но дробный, но не IEEE. одно то что число занимает 5 байт - уже ставит меня в тупик. подскажите как такое число считать?
|
#2
|
||||
|
||||
Чтобы понять о каком формате идёт речь, приведи HEX-формат того что нужно считать и DEC-соответствие.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
00 03 4E 80 00 = 846.5
первые три байта отвечают за целую часть 00 03 4E = 846 а последние два видимо за дробную 80 00 = 0.5 вопрос - как прочитать такое число и правильно его распознать. |
#4
|
|||
|
|||
если в число в самом начале файла, то:
PHP код:
так распознать PHP код:
Последний раз редактировалось Pyro, 20.03.2012 в 09:41. |
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
Tonyy (20.03.2012)
|
#5
|
||||
|
||||
Код:
program Project1; {$APPTYPE CONSOLE} uses Windows, SysUtils; var hFile: THandle; Buffer: array [0..4] of Byte; Dummy: Cardinal; i, f: Integer; begin hFile:=CreateFile('Project1.txt', GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0); ReadFile(hFile, Buffer, 5, Dummy, nil); CloseHandle(hFile); i:=(Buffer[0] shl 16)+(Buffer[1] shl 8)+Buffer[2]; f:=(Buffer[3] shl 8)+Buffer[4]; Writeln(Format('%.2f', [i+f/$10000])); Readln; end. Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Tonyy (20.03.2012)
|
#6
|
|||
|
|||
большое спасибо!
|