>>607
>ウワーン、それ以上キャストする肩がないよ-

こんなのどうでしょうか。

type
 TNum = 0..255;
 TSetNum = set of TNum;
 TSetCast = array[0..31] of Byte;

function ByteToBitStr(bt:Byte):string;
var
 i:integer;
begin
 result := '';
 for i := 0 to 7 do begin
  if Odd(bt) then
   result := '1'+result
  else
   result := '0'+result;
  bt := bt shr 1;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 SN:TSetNum;
 SC:TSetCast;
 s:string;
 i:integer;
begin
 SN := [3,8,255];// Test
 SC := TSetCast(SN);
 s := '';
 for i := 0 to 31 do
  s := ByteToBitStr(SC[i])+' '+s;
 Memo1.Lines.Add(s);
end;