Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Schneller Zugriff auf Bits

  Alt 20. Jan 2005, 00:24
mit einem set (also einer Menge/Bitfeld) sollte es gehen:
Delphi-Quellcode:
type TAlleBitsEinenIntegers = set of 0..32;
   PAlleBitsEinesIntegers = ^TAlleBitsEinenIntegers;

var
   AlleBitsEinenIntegers: TAlleBitsEinenIntegers;
   EinInteger, i: Integer;
   Output: String[32];
begin
   EinInteger := 4294967295;
   AlleBitsEinenIntegers := PAlleBitsEinesIntegers(@EinInteger)^;
   FillChar(Output, 32, '0');

   for i := 32 downto 1 do
      if pred(i) in AlleBitsEinenIntegers then
         Output[32 - i] := '1';

   Writeln(Output);
   Sleep(2000);
end.
Ist vielelicht etwas umständlich, aber ich arbiete eigentlich nie mit Pointern oder primitiven Typen.
Output
1111111111111111111111111111111


Edit: Habe aus der vertikalen Darstellung ein Füllen eines String[32] gemacht.
  Mit Zitat antworten Zitat