Navigace: Hlavní stránka -> PASCAL -> 07 Podprogramy -> 07.05 Funkce - převod čísla z desítkové do dvojkové soustavy

MENU

07.05 Funkce - převod čísla z desítkové do dvojkové soustavy

Zadání:
Sestavte funkci na převod desítkového čísla do dvojkové soustavy.
Řešení:
Funkce je řešena postupným dělením zadaného desítkového čísla číslem 2 a na základě zbytku tohoto dělení se postupně
ke znakovému řetězci přidává zprava nula nebo jednička. Dělení končí, pokud výsledek bude nulový.

Př.:
34 : 2 = 17, zb. 0
17 : 2 = 8, zb. 1
8 : 2 = 4, zb. 0
4 : 2 = 2, zb. 0
2 : 2 = 1, zb. 0
1 : 2 = 0, zb. 1

Výsledek: 100010
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function prevod(x:integer):string;
var y:string;
begin
   y:='';
   repeat
   if odd(x) then y:='1'+y
             else y:='0'+y;
   x:=x div 2;          
   until x=0;
   prevod:=y;
end;


var a:integer;
    s:string;

begin

   write('Zadejte cislo v desitkove soustave: ');
   readln(a);

   s:=prevod(a);

   writeln(a,'D=',s,'B');

   readln;

end.

program ke stažení