4、 已知整数N(INTEGER范围内),试求它的二进制数。输入输出各一行。

4、 已知整数N(INTEGER范围内),试求它的二进制数。输入输出各一行。

program ex_1;
const k = 2;
var
     a : array [1..18] of integer;
     n : double;
     i, j, p : integer;
begin
     readln(n);
     p := trunc(n);
     if p < 0 then
        write('-');
     p := abs(p);
     i := 0;
     repeat
           i := i+1;
           a[i] := p mod k;
           p := p div k;
     until p <= 0;
     for j := i downto 1 do
           write(a[j]);
     if n <> trunc(n) then
     begin
          write('.');
          n := n-trunc(n);
          i := 0;
          for i := 1 to 18 do
          begin
               n := n*k;
               a[i] := trunc(n);
               n := n-a[i];
               if n = 0 then
                  break;
          end;
          for j:=1 to i do
              write(a[j]);
     end;
     readln;
end.
posted @ 2010-02-25 16:09  SmartIOI  阅读(144)  评论(0)    收藏  举报
本站采用CC授权如需转载、引用文章,请务必附上作者及来源处。 Creative Commons License