Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
1-1081160485
Ivolg
2004-04-05 14:21
2004.04.25
Компонент


14-1080889400
Undert
2004-04-02 11:03
2004.04.25
PHP + Права доступа


14-1080844613
gn
2004-04-01 22:36
2004.04.25
для тех кто в ещё может! :-)


1-1081151820
student
2004-04-05 11:57
2004.04.25
про пошаговое выполнение программы


3-1080291198
LAndreyV
2004-03-26 11:53
2004.04.25
Размер БД растет не подням, а по часам !





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский