应群友的要求写的一个小函数,将一个32位整数转换为其二进制表示:
function IntToBinStr(v: Integer): String;
var
b: array [0 .. 32] of Char;
o: Integer;
const
Chars: array [0 .. 1] of Char = ('0', '1');
begin
o := 31;
if v <> 0 then
begin
while v <> 0 do
begin
b[o] := Chars[v and $1];
v := v shr 1;
Dec(o);
end;
b[32] := #0;
Result := PChar(@b[o + 1]);
end
else
Result := '0';
end;
至于调用方式,则很简单,直接象 IntToBinStr(100) 就可以。如果想要前面保留多少个0,那你在长度上在前面加上n个0就好了。
