Например, дана переменная
a:real;
мы ей присваиваем значение, скажем,
a:=25;
и ето надо представить в виде 101101 110011 ........
интегер вроде легче реализовать.. а как с реалом быть??
заранее спасибо!
function binary(x: longint; num_of_bits: byte): string;
var
s: string;
i, bit: byte;
begin
s := '';
for i := 0 to 31 do begin
bit := (x shl i) shr (31);
s := s + chr(ord('0') + bit)
end;
delete(s, 1, 32 - num_of_bits);
binary := s
end;
var
a: real;
type
arrbyte = array[1 .. maxint] of byte;
var
arr: arrbyte absolute a;
i: byte;
begin
a := 25;
for i := 1 to sizeof(a) do
write( binary(arr[i], 8) );
end.
type
arrbyte = array[1 .. maxint] of byte;
write( binary(arr[i], 16) );
var
n, i, kiek:integer;
bitai:array[1..80] of byte;
mentise:array[1..80] of byte;
ext_sk: extended absolute bitai;
x:byte;
begin
repeat
n:=0;
i:=0;
kiek:=0;
write('Iveskite extended tipo skaiciu: ');
readln(ext_sk);
for i:=1 to sizeof(ext_sk) do
begin
x:=bitai[i];
for n:=1 to 8 do
begin
mentise[80-kiek]:=x mod 2;
x:= x div 2;
kiek:=kiek+1;
end;
end;
writeln('S Exp Mentise');
write(mentise[1], ' ');
for i:= 2 to 16 do
begin
write(mentise[i]);
end;
write(' ');
for i:=17 to 80 do write(mentise[i]);
readln(n);
until n=0;
end.