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;