Из десятичной системы счисления в двоичную. Паскаль

Перевести число из десятичной системы счисления в двоичную, я думаю, для большинства читателей не составит труда. Но рассмотреть этот алгоритм подробнее и реализовать его на языке программирования — задача посложнее. В данной статье реализуем перевод числа из десятичной системы счисления в двоичную.

В двух словах, чтобы перевести число в двоичную систему счисления, мы делим данное число на два и выделяем остаток от деления. Затем, если частное от деления меньше делителя (т.е. двух)   мы делим его снова на два и снова выделяем остаток. Ответом будет набор остатков от деления, начиная с последнего.

 Рассмотрим код:

var a,b,c,i,k:integer;
mas: array[0..1000] of integer;
begin
k:=0;
readln(a);
    repeat
          b:=a mod 2;
          k:=k+1;
          mas[k]:=b;
          c:=a div 2;
          if c>=2 then a:=c;
    until c<2;
write(c);
for i:=k downto 1 do
    write(mas[i]);
end.

Комментарии:

— используем цикл с постусловием. т.к. нам не известно, сколько раз будет выполняться цикл

— переменная служит для записи остатков от деления, которые помещаются в массив

mas[k]:=b;

— переменная k для подсчета остатков в массиве

— после выхода из массива выводим последний остаток (переменная с) и остальные остатки, сохраненные в массиве, в обратном порядке

Позднее рассмотрим:

алгоритм перевода чисел из двоичной системы счисления в десятичную

— перевод из десятичной системы счисления в любую другую (3-ю — 16-ричную)

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (7 голос, значение: 3,71 из 5)
Загрузка...
Вы можете оставить комментарий, или ссылку на Ваш сайт.

2 комментария к записи “Из десятичной системы счисления в двоичную. Паскаль”

  1. пользователь:

    Не очень понятно зачем делать массив с 0, когда запись в него идет с 1-го элемента

Оставить комментарий

Антибот *