Turbo Pascal
  • bardocz
    #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?