Unit ubits; (* ******************************************************************** *) (* K L A S S E : *) (* -------------------------------------------------------------------- *) (* Version : *) (* Autor : http://home.tu-clausthal.de/~inas/computer/FAQ/pas/69 *) (* bearbeit v. S. Spolwig, OSZ Handel I, Berlin *) (* Beschreibung: Die Klasse stellt eine Reihe von Funktionen zur Bitma- *) (* nipulation in Integer-und Word - Variablen zur *) (* Verfuegung *) (* *) (* Compiler : Delphi 4.0 *) (* Aenderungen : AUG - 00 *) (* ******************************************************************** *) Interface type
TMyBits = class
Function ITstBit ( Zahl : Word; Bitnr : Integer ) : Boolean;
Function BTstBit ( Zahl : Byte; Bitnr : Integer ) : Boolean;
Function ISetBit ( Zahl: Word; Bitnr: Integer ) : Word;
Function BSetBit ( Zahl: Byte; Bitnr: Integer ) : Byte;
Function IRotateLeft ( Zahl : Word; Bits : Integer ) : Word;
Function BRotateLeft ( Zahl : Byte; Bits : Integer ) : Byte;
Function IRotateRight ( Zahl : Word; Bits : Integer ) : Word;
Function BRotateRight ( Zahl : Byte; Bits : Integer ) : Byte;
Function IDeleteBit ( Zahl : Word; Bitnr : Integer ) : Word;
Function BDeleteBit ( Zahl : Byte; Bitnr : Integer ) : Byte;
Function IntToBinStr ( Zahl : Word ) : String;
Function ByteToBinStr ( Zahl : Byte ) : String;
Function BinStrToInt ( Str1 : String ) : Word;
Function BinStrToByte ( Str1 : String ) : Byte;
end;
(* -------------------- B e s c h r e i b u n g ------------------------- Oberklasse : - Bezugsklassen : - Methoden -------- Die Funktionen, die mit einem "I" beginnen, werden zur Bearbeitung von Zahlen der Typen Integer und Word benutzt, die mit einem "B" beginnen, sind fuer die Typen Byte und Shortint gedacht. ITstBit, BTstBit
Auftrag: Testet die angegebene Bitposition. TRUE wird uebergeben,
wenn das getestete Bit gesetzt ist
ISetBit, BSetbit Auftrag: Setzt das angegebene Bit IRotateLeft, BRotateLeft. Auftrag: Rotiert die Zahl nach links. Das hoechstwertige Bit wird nachgeschoben IRotateRight, BRotateRight
Auftrag; Rotiert die Zahl nach rechts. Das niedrigstwertige bit wird
nachgeschoben.
IDeleteBit, BDeleteBit Auftrag: Loescht das angegebene Bit. IntToBinStr, ByteToBinStr Auftrag: Wandelt eine Zahl in einen Binaerstring BinStrToInt, BinStrToByte Auftrag: Wandelt einen Binaerstring in eine Zahl ----------------------------------------------------------------------- *) |