Home » Tipps & Tricks » Object Pascal » Sonstiges » Arbeiten mit Bits
Arbeiten mit Bits
Die Arbeit mit Bits (1011000101) kann sehr nützlich sein, vor allem für Verschlüsselung. Ich habe ein paar Routinen zur Umwandlung eines Zeichens in einen String (Länge 8) aus ‚1‘ und ‚0‘ und umgekehrt geschrieben.
const B1: Byte = 128; B2: Byte = 64; B3: Byte = 32; B4: Byte = 16; B5: Byte = 8; B6: Byte = 4; B7: Byte = 2; B8: Byte = 1; // wird von den Routinen benögtigt function TestBit(ByteToTest, BitNr: Byte): Boolean; var I: Integer; begin Result := False; if BitNr Char function BitToChar(S: string): Char; var A, B: byte; T: string; begin Result := ' '; T := S; if length(T) < 8 then while length(T) 8 do T := T + '0'; if length(T) > 8 then delete(T, 9, length(T)); B := 0; for A := 1 to 8 do if T[A] = '1' then case A of 1: B := B or B1; 2: B := B or B2; 3: B := B or B3; 4: B := B or B4; 5: B := B or B5; 6: B := B or B6; 7: B := B or B7; 8: B := B or B8; end; Result := Char(B); end; // Byte in String / String in Byte function ByteToBit(B: Byte): string; begin Result := CharToBit(Char(B)); end; function BitToByte(S: string): Byte; begin Result := Byte(BitToChar(S)); end;