hejjj, pytanieee:
czy jest jakiś prosty sposób rzutowania typów liczbowych całkowitych na TBits ?
jako tablicą flag do tej pory posługiwałem się zmienną int64 ale boję się że kiedyś może zabraknąć w niej miejsca, stąd nowy pomysł z TBits...
hejjj, pytanieee:
czy jest jakiś prosty sposób rzutowania typów liczbowych całkowitych na TBits ?
jako tablicą flag do tej pory posługiwałem się zmienną int64 ale boję się że kiedyś może zabraknąć w niej miejsca, stąd nowy pomysł z TBits...
Raczej nie. TBits jest tylko klasą ładnie obudowującą tablicę boolean'ów, a jak powszechnie wiadomo boolean zajmuje bajt w pamięci. Może taka procedura (pisane z głowy):
procedure AddToTBits(bits: TBits; n: integer; start: integer = 0);
var i,size: integer;
begin
if bits=nil then Exit;
size:=sizeof(integer);
if bits.size < start+size then
bits.size:=2*bits.size-start-size;
for i:=0 to size-1 do
begin
bits.Bits[start+i]:=boolean((n shr (size-i)) and 1);
end;
end;
dzięki ! ale na razie nie sprawdzę bo sprawa już jest w kolejce !
(w końcu się coś u mnie dzieje no nie ? :P)