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 ----------------------------------------------------------------------- *) |