Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Двоично-десятичное представление числа.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
14-1080890830
IronHawk
2004-04-02 11:27
2004.04.25
Не интегральная формула вычисления длинны дуги эллипса?


14-1080635255
able
2004-03-30 12:27
2004.04.25
WIndows 2003 server


1-1081242287
Tornado
2004-04-06 13:04
2004.04.25
Преобразование DOS -> Win


3-1080560267
stelius
2004-03-29 15:37
2004.04.25
Опять про скорость


7-1076329398
VMcL
2004-02-09 15:23
2004.04.25
GetWindowThreadProcessId()