求助,显示格式问题!
现在有0-15范围内的十进制整数,怎样转换为二进制然后以四位的格式显示?不知道怎么回事0100显示出来会是100,前面那个0就不见了。。。菜菜鸟求助啊各位!
[解决办法]
给你一个参考一下:
function IntToBin(const sInt:Integer):string;
var
s:string;
i:Integer;
begin
i:=sInt;
while i>=2 do
begin
s:=s+IntToStr(i mod 2);
i:=i div 2;
end;
s:=s+IntToStr(i);
i:=Length(s);
if i<4 then
s:=s+Copy('000',1,4-i);
for i:=Length(s) downto 1 do
Result:=Result+s[i];
end;
[解决办法]
转换限制位数,输出为字符串就行了
function IntToBin4(d: integer): string;var x: integer; bin: string;begin bin := ''; for x := 1 to 4 do begin If (d mod 2 = 0) then bin := '0' + bin else bin := '1' + bin; d := d div 2; end; result := bin;end;
[解决办法]
//十进制转化SIZE位二进制
function IntToBin(Value: LongInt; Size: Integer): String;
var
i: Integer;
begin
Result:='';
for i:=Size-1 downto 0 do
begin
if Value and (1 shl i)<>0 then
Result:=Result+'1'
else
Result:=Result+'0';
end;
end;