Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Файлы типа *.bin


Автор: UnrealZ 23.3.2006, 05:36
Всем привет.

Есть файл типа *.bin. Данные, записанные в нем, представляют собой двухбайтовые значения. При этом диапазон их от -8200 до +8200. Вопросы такие: Как считать данные в двоичном и десятеричном виде? И что делать с тремя старшими битами?

Спасибо.

Автор: Msl 23.3.2006, 07:56
1. Как считать и преобразовать:

http://www.torry.net/vcl/security/crypting/datafile.zip

Datafile v.1.12 FWS 2 Kb 04 Sep 2001 By Deleon Software.

This component has ....

many additional methods for stored data in binary file

Fully functional ,Source: Included

2. Обнулить с маской, используя операцию AND

См. Операции с битами :
Код


{******************************************
TheBit parameter is counted from 0..31
******************************************}
unit Bitwise;
interface
  function IsBitSet(const val: longint; const TheBit: byte): boolean;
  function BitOn(const val: longint; const TheBit: byte): LongInt;
  function BitOff(const val: longint; const TheBit: byte): LongInt;
  function BitToggle(const val: longint; const TheBit: byte): LongInt;
implementation

function IsBitSet(const val: longint; const TheBit: byte): boolean;begin
  result := (val and (1 shl TheBit)) <> 0;
  end;
function BitOn(const val: longint; const TheBit: byte): LongInt;begin
  result := val or (1 shl TheBit);
  end;
function BitOff(const val: longint; const TheBit: byte): LongInt;begin
  result := val and ((1 shl TheBit) xor $FFFFFFFF);
  end;
function BitToggle(const val: longint; const TheBit: byte): LongInt;begin
  result := val xor (1 shl TheeBit);end;
  end.


Удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)