Sunushi

10.5 DEC na BIN

Nov 22nd, 2012
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.55 KB | None | 0 0
  1. uses crt;
  2. var
  3.         tab:array[1..15] of byte;
  4.         a,b,potega:integer;
  5.         d,i,j:byte;
  6. begin
  7.         clrscr;
  8.         writeln('Program do zamiany liczby dziesietnej na binarna');
  9.         writeln;
  10.         write('Podaj liczbe (max 32767): ');
  11.         readln(a); {odczytanie wprowadzanej liczby}
  12.         b:=a; {zapisanie do zmiennej b wprowadzonej liczby,
  13.                wykorzystane w koncowym wyswietleniu}
  14.         for i:=1 to 15 do
  15.         begin
  16.                 potega:=1; {czyszczenie zmiennej potega}
  17.                 for j:=14 downto i do
  18.                         potega:=potega*2; {obliczanie potegi dwojki (od 2^15 do 2^0)}
  19.                 if (a >= potega) then {warunek sprawdzajacy, czy nasza liczba jest wieksza badz rowna potedze}
  20.                         begin
  21.                                 a:=a-potega; {odejmowanie potegi od naszej liczby}
  22.                                 tab[i]:=1; {zapisywanie do tablicy liczby 1}
  23.                         end
  24.                 else
  25.                         tab[i]:=0; {jesli liczba < potega to do tablicy zapisuje sie 0}
  26.         end;
  27.         d:=1;
  28.         while tab[d] = 0 do {petla liczaca od ktorego miejsca zaczyna sie liczba w BIN}
  29.                 d:=d+1;     {by Budyń}
  30.         writeln;
  31.         writeln('DEC -> BIN');
  32.         write(b,' -> '); {wyswietlenie liczby w DEC}
  33.         for i:=d to 15 do {petla wykonuje sie od momentu obliczonego w poprzedniej petli
  34.                            do ostatniego miejsca w tablicy}
  35.                 write(tab[i]); {wypisanie liczby w BIN}
  36.         readln;
  37. end.
Advertisement
Add Comment
Please, Sign In to add comment