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.
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.


浙公网安备 33010602011771号