Andere Möglichkeit: Bitmaske erstellen mit dem Shift anstatt alles runterzuschieben...
Delphi-Quellcode:
function GetBitMask(const abyte:byte):TBitmask;
var
i: integer;
begin
For i := Low(Result) To High(Result) Do
Result.Bits[i] := ( AByte And ( 1 Shl i ) ) <> 0;
end;