Turbo Pascal
-
#249
program konverter;
uses crt;
var be : real;
bin : string;
Function forgat(s : string):string;
var i : longint;
tar: string;
begin
tar:='';
if length(s)>1 then
begin
for i:=0 to length(s)-1 do
begin
tar:=tar+copy(s,length(s)-i,1);
end;
end else tar:=s;
forgat:=tar;
end;
function hatvanyoz(alap : longint; kitevo : longint):longint;
var i: longint;
szam : longint;
begin
if kitevo=0 then hatvanyoz:=1;
if kitevo=1 then hatvanyoz:=alap;
if kitevo>1 then
begin
szam:=alap;
for i:=1 to kitevo-1 do
begin
szam:=szam*alap;
end;
hatvanyoz:=szam;
end;
end;
function dec2bin(szam:real):string;
var bintar : string;
egesz : real;
tizedes : real;
begin
bintar:='';
szam:=int(szam);
repeat
egesz:=int(szam/2);
tizedes:=frac(szam/2);
if tizedes>0 then
begin
bintar:=bintar+'1';
end else bintar:=bintar+'0';
szam:=egesz;
until egesz<1;
//bintar:=bintar+'1';
dec2bin:=forgat(bintar);
end;
function bin2dec(szam:string):longint;
var i : longint;
szamolt : longint;
begin
szamolt:=0;
for i:=0 to length(szam)-1 do
begin
if copy(szam, length(szam)-i, 1)='1' then
szamolt:=szamolt+hatvanyoz(2,i);
end;
bin2dec:=szamolt;
end;
begin
clrscr;
writeln('Kérek egy egész számot : ');
readln(be);
writeln(dec2bin(be));
writeln('Kérek egy bináris számot : ');
readln(bin);
writeln(bin2dec(bin));
end.
Magamtól nem megy, de ezt találtam, és működőképesre átírtam. Így lazarus alatt működik. Mit kell átalakítani ahhoz, hogy delphiben is működjön?