将(91.8125)的十进制换算成二进制

2020-04-27 教育 136阅读
function convert_b(a:real):string;
var
s,s1,s2:string;
m1:longint;
m2,n:real;
i,j:integer;
ch:string[1];
begin
m1:=trunc(a);
m2:=a-m1;
s1:='';
s2:='';
while m1>0 do begin
i:=m1 div 2;
j:=m1 mod 2;
str(j:0,ch);
s1:=ch+s1;
m1:=i;
end;
        while (m2>0)and(length(s2)<8) do begin
n:=m2*2;
j:=trunc(n);
str(j:0,ch);
s2:=s2+ch;
m2:=n-j;
end;
s:=s1+'.'+s2;
convert_b:=s;
end;
begin
writeln(convert_b(91.8125));
end.

1011011.1101
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com