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

Вниз

Помогите написать конвертор   Найти похожие ветки 

 
Тот самый Джо   (2003-05-12 12:04) [0]

В бинарном файле хранятся 17-и байтовые значения чисел, помогите понять как их можно преобразовать в формат BCD и обратно:
Примеры хранения чисел:
--------------------------------------------------------------
Число | Точность | HEX (17 byte)
--------------------------------------------------------------
1 | 4 | C400000000000000000000000000010000
--------------------------------------------------------------
1 | 8 | C800000000000000000000000100000000
--------------------------------------------------------------
1.44 | 4 | C400000000000000000000000000014400
--------------------------------------------------------------
1.44 | 8 | C800000000000000000000000144000000
--------------------------------------------------------------
0 | 4 | C400000000000000000000000000000000
--------------------------------------------------------------
0 | 8 | C800000000000000000000000000000000
--------------------------------------------------------------
-1 | 4 | 44FFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF
--------------------------------------------------------------
-1 | 8 | 48FFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF
--------------------------------------------------------------
-1.44 | 4 | 44FFFFFFFFFFFFFFFFFFFFFFFFFFFEBBFF
--------------------------------------------------------------
-1.44 | 8 | 48FFFFFFFFFFFFFFFFFFFFFFFEBBFFFFFF
--------------------------------------------------------------

Насколько я понял, для отрицательных значений нужно делать xor $80 Помогите please :)


 
Тот самый Джо   (2003-05-12 12:56) [1]

Жаль...а я было подумал, что это несложная для некоторых задача :(


 
Dms   (2003-05-12 13:01) [2]

это задача для тебя. почитай про форматы чисел, про логические операции и вперед.


 
Anatoly Podgoretsky ©   (2003-05-12 13:07) [3]

А оно уже и так BCD не упакованное, а ты в какое BCD хочешь преобразовать?


 
Тот самый Джо   (2003-05-12 13:16) [4]

Я хочу преобразовать в тип TBCD (unit FmtBcd.pas)

type
TBcd = packed record
Precision: Byte; { 1..64 }
SignSpecialPlaces: Byte; { Sign:1, Special:1, Places:6 }
Fraction: packed array [0..31] of Byte; { BCD Nibbles, 00..99 per Byte, high Nibble 1st }
end;



Страницы: 1 вся ветка

Текущий архив: 2003.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-70336
exo
2003-05-08 22:02
2003.05.22
FindFirstChangeNotification


14-70437
fighter@str
2003-04-30 18:56
2003.05.22
Жесткий диск IBM


1-70357
saperxl
2003-05-10 01:51
2003.05.22
При переходе на другой ПК компоненты меняют размеры


1-70273
KSergey
2003-05-12 15:39
2003.05.22
Как бы выудить версию программы из свойств проекта?


1-70321
Filat
2003-05-07 20:27
2003.05.22
RxDBLookupCombo в режиме ReadOnly, почему?