Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизПомогите с числами... Найти похожие ветки
← →
BillyJeans (2003-11-04 11:06) [0]Есть некий файл, в котором хранятся суммы в непонятном для меня виде, а именно:
число -720.00 хранится как 010000000000008086С0
числи 6296.28 хранится как 0100E17A14AE4798B840
знаю только, что целая часть занимает 8 байт, дробная 2 байта.
Может у кого есть идеи на этот счет???
← →
phan (2003-11-04 11:14) [1]Я так понимаю это Extended,
а откуда данные про 8 и 2 байта?
← →
BillyJeans (2003-11-04 11:22) [2]Я так понимаю это Extended
а есть ли способы конвертации?
а откуда данные про 8 и 2 байта?
из описания структуры...
← →
TUser (2003-11-04 11:38) [3]1. читать из file of type не катит? Тогда, наверное, так
2.var secondVar:extended absolute firstVar;
begin
// Прочитать в переменную firstVar строку из файла
// Тогда в SecondVar окажется правильное значение.
Но это, если ты точно знаешь типа своей переменной.
← →
BillyJeans (2003-11-04 11:48) [4]Но это еще не факт, что число хранится как Extended...
← →
Anatoly Podgoretsky (2003-11-04 11:51) [5]Так в описании что то сказано насчет формата. А Extended или нет весьма просто проверить, записав эти два числа в свой файл.
← →
BillyJeans (2003-11-04 11:54) [6]В описании ничего нет, кроме того, что до запятой 8 чисел, после 2 числа
← →
Amoeba (2003-11-04 12:02) [7]Маразм крепчает...
← →
han_malign (2003-11-04 12:19) [8]>до запятой 8 чисел, после 2 числа
- дык, это договоренность об округлении десятичного представления числа, что не мешает бинарному представлению в виде Extended.
← →
han_malign (2003-11-04 12:40) [9]короче первое слово, похоже, колличество элементов, далее восемь байт double:
program extnd;
{$APPTYPE CONSOLE}
uses Windows,
Utils in "..\Common\Utils.pas";
var ex: double;
const d1: packed array[0..9]of byte=($01,$00,$00,$00,$00,$00,$00,$80,$86,$C0);
d2: packed array[0..9]of byte=($01,$00,$E1,$7A,$14,$AE,$47,$98,$B8,$40);
begin
move(d1[2],ex,sizeof(ex));
Writeln(ex);
move(d2[2],ex,sizeof(ex));
Writeln(ex);
end.
-7.20000000000000E+0002
6.29628000000000E+0003
← →
BillyJeans (2003-11-04 17:03) [10]han_malign © (04.11.03 12:40) [9]
Да, да! оно самое!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c