DELPHI如何实现二进制和十进制的互转
工作中用到,网上不好搜,干脆自己写个,欢迎扔砖
十进制转二进制
function inttobin(i:integer):string;
var b:string;
begin
b:='';
while i>=1 do
begin
b:=inttostr(i mod 2)+b;
i:=round((i-(i mod 2))/2);
end;
result:=b;
end;
二进制转十进制
function bintoint(s:string):integer;
var i,j,r:integer;
p:string;
begin
r:=0;
j:=1;
for i:=length(s)-1 downto 0 do
begin
p:=copy(s,j,1);
r:=r+round(intpower(2,i)*strtoint(copy(s,j,1)));
j:=j+1;
end;
result:=r;
end;
工作中用到,网上不好搜,干脆自己写个,欢迎扔砖
十进制转二进制
function inttobin(i:integer):string;
var b:string;
begin
b:='';
while i>=1 do
begin
b:=inttostr(i mod 2)+b;
i:=round((i-(i mod 2))/2);
end;
result:=b;
end;
二进制转十进制
function bintoint(s:string):integer;
var i,j,r:integer;
p:string;
begin
r:=0;
j:=1;
for i:=length(s)-1 downto 0 do
begin
p:=copy(s,j,1);
r:=r+round(intpower(2,i)*strtoint(copy(s,j,1)));
j:=j+1;
end;
result:=r;
end;