UML EditorОткрыть редактор

Задачи / Числа / Перевод числа в двоичную систему

Перевод числа в двоичную систему: блок-схема и алгоритм

Делим число на 2 и записываем остатки: они и есть двоичные цифры, но в обратном порядке. Поэтому каждую новую цифру приписываем слева к строке результата.

Блок-схема: Перевод числа в двоичную систему

Алгоритм по шагам

  1. Ввести n.
  2. Присвоить s = «» (пустая строка).
  3. Повторять: дописать остаток n mod 2 слева к s, n = n div 2 — до тех пор, пока n не станет 0.
  4. Вывести s.

Открыть блок-схему в редакторе

Пример работы

Входn = 13
Шаг 113 mod 2 = 1, n = 6 → s = «1»
Шаг 26 mod 2 = 0, n = 3 → s = «01»
Шаг 33 mod 2 = 1, n = 1 → s = «101»
Шаг 41 mod 2 = 1, n = 0 → s = «1101»
Результат1101

Решение на Python

n = int(input())
s = ""
while True:
    s = str(n % 2) + s
    n //= 2
    if n == 0:
        break
print(s)   # то же самое: bin(n)[2:]

Решение на Pascal

var n: integer;
    s: string;
begin
  readln(n);
  s := '';
  repeat
    s := chr(ord('0') + n mod 2) + s;
    n := n div 2;
  until n = 0;
  writeln(s);
end.

Код блок-схемы

Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».

блок-схема: Перевод в двоичную систему
начало
ввод n
s = «»
повторять
    s = (n mod 2) + s
    n = n div 2
до n = 0
вывод s
конец

Сложность

O(log n) шагов — по одному на каждую двоичную цифру. Для системы с основанием k делите на k.

Частые ошибки

  • Приписывать цифру справа — получится число задом наперёд.
  • Цикл «пока n > 0» вместо «повторять … до»: для n = 0 ответ будет пустой строкой вместо «0».
  • Складывать число со строкой без преобразования (в Python нужен str()).

Похожие задачи

Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.