Форум: "Потрепаться";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизДвоично-десятичное представление числа. Найти похожие ветки
← →
Romario © (2004-04-03 16:15) [0]Есть некоторое реальное число (длина числа 13 знаков) необходимо представить его в двоично-десятичном виде. Нужно прочитать данные из файла (там оно хранится в восьми байтах). Как взможно это проеобразовать в реальное число (прога которая пишет файл писана на С++)?
← →
Anatoly Podgoretsky © (2004-04-03 16:18) [1]А формат файла, то что 8 байт еще мало что говорит.
← →
YurikGl © (2004-04-03 16:21) [2]>>(длина числа 13 знаков)
В какой системе исчисления?
← →
default © (2004-04-03 17:45) [3]BCD - в каждом полубайте хранится одна десятчная цифра
8 байт - 16 знаковое десяичное число, почему число у тебя в 13 знаков?ведущие нули? зачем тогда лишние байты хранить или как там у Вас...
← →
default © (2004-04-03 17:57) [4]если полубайт отводится на знак, тогда получится 15 знаковое число никак не 13 знаковое)в каком формате в самом деле записано число в файле?
← →
Romario © (2004-04-03 18:27) [5]Длина числа ограничена полем ввода в программе (какойто сишный аналог TEdit), так что возможно максимально получается 15-ти знаковое. Спасибо за ответ.
← →
nikkie © (2004-04-03 19:19) [6]а мне кажется, что раз
>оно хранится в восьми байтах
то это вполне может оказаться обычный double.
← →
Anatoly Podgoretsky © (2004-04-03 20:13) [7]default © (03.04.04 17:45) [3]
А с чего ты взял, что входные данные в BCD формате и при том именно в таком. Автор ничего не говорил, кроме вывода.
И до сих пор не говорит.
← →
default © (2004-04-03 21:24) [8]Anatoly Podgoretsky © (03.04.04 20:13) [7]
да, я потом увидел...
пока не знаешь в како формате хранятся числа в файле ничего не сделаешь
если ты знаешь что пишет это прога в файл, то можно в принципе выяснить формат(какие именно числа и в каком порядке)
← →
Romario © (2004-04-04 09:48) [9]>nnike
Можешь подсказать как сохранять и читать из файла некоторое значение пусть хоть double или real не в текстовом виде.
← →
uw © (2004-04-04 10:22) [10]>nikkie © (03.04.04 19:19) [6]
>то это вполне может оказаться обычный double.
Не, скорее это Int64. Как Double представишь в двоично-десятичном виде? То, что в основном вопросе присутствует слово "реальное", еще не значит, что речь идет о Real и тем более о Double, имхо. Вот если бы автор ветки захотел показать нам, что у него там в файле находится реально, то можно было бы и конкретнее.
← →
uw © (2004-04-04 11:11) [11]>Romario © (04.04.04 09:48) [9]
procedure Proc;
var
i64, n64: Int64;
f1: File of Int64;
f2: File;
begin
AssignFile(f1, "a.fil");
Rewrite(f1);
i64 := 12345678;
Write(f1, i64);
CloseFile(f1);
AssignFile(f2, "a.fil");
Reset(f2, SizeOf(n64));
BlockRead(f2, n64, 1);
CloseFile(f2);
AssignFile(f2, "a.fil");
Rewrite(f2, SizeOf(n64));
BlockWrite(f2, i64, 1);
CloseFile(f2);
AssignFile(f1, "a.fil");
Reset(f1);
Read(f1, n64);
CloseFile(f1);
end;
← →
Romario © (2004-04-04 17:48) [12]> uw
Воспользовавшись Вашим примером добился желаемого приведением переменной к типу CURRENCY!!!!! Все, тему можно считать исчерпаной.
ВСЕМ СПАСИБО. ВСЕ СВОБОДНЫ. СНЯТО!!!!!!!!!!!!!
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c