Konverzia na bity a späť
Binárne čísla nás obklopujú veľmi často a ani o tom nemusíme vedieť. Tu sú niektoré funkcie pre ich konverziu.
//testuje bit //napr.: 1 1 0 0 0 1 0 1 // 0. 1. 2. 3. 4. 5. 6. 7. bit function TestBit(ByteToTest, BitNr: Byte): Boolean; var I: Integer; begin Result:=False; if BitNr>8 then Exit; I:=ByteToTest shl BitNr; Result:=(128 and I)=128; end; //zkonvertuje znak na bity function CharToBit(C: Char): String; var A: Byte; B: Byte; begin Result:=''; B:=Byte(C); for A:=0 to 7 do if TestBit(B, A)=True then Result:=Result+'1' else Result:=Result+'0'; end; //zkonvertuje bity na znak function BitToChar(S: String): Char; 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; var A, B: byte; T: String; begin 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; //zkonvertuje byte na bity function ByteToBit(B: Byte): String; begin Result:=CharToBit(Char(B)); end; //zkonvertuje bity na byte function BitToByte(S: String): Byte; begin Result:=Byte(BitToChar(S)); end;