Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var
- tab:array[1..15] of byte;
- a,b,potega:integer;
- d,i,j:byte;
- begin
- clrscr;
- writeln('Program do zamiany liczby dziesietnej na binarna');
- writeln;
- write('Podaj liczbe (max 32767): ');
- readln(a); {odczytanie wprowadzanej liczby}
- b:=a; {zapisanie do zmiennej b wprowadzonej liczby,
- wykorzystane w koncowym wyswietleniu}
- for i:=1 to 15 do
- begin
- potega:=1; {czyszczenie zmiennej potega}
- for j:=14 downto i do
- potega:=potega*2; {obliczanie potegi dwojki (od 2^15 do 2^0)}
- if (a >= potega) then {warunek sprawdzajacy, czy nasza liczba jest wieksza badz rowna potedze}
- begin
- a:=a-potega; {odejmowanie potegi od naszej liczby}
- tab[i]:=1; {zapisywanie do tablicy liczby 1}
- end
- else
- tab[i]:=0; {jesli liczba < potega to do tablicy zapisuje sie 0}
- end;
- d:=1;
- while tab[d] = 0 do {petla liczaca od ktorego miejsca zaczyna sie liczba w BIN}
- d:=d+1; {by Budyń}
- writeln;
- writeln('DEC -> BIN');
- write(b,' -> '); {wyswietlenie liczby w DEC}
- for i:=d to 15 do {petla wykonuje sie od momentu obliczonego w poprzedniej petli
- do ostatniego miejsca w tablicy}
- write(tab[i]); {wypisanie liczby w BIN}
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment