Перевод из десятичной системы счисления в двоичную в Python

Статьи

Введение

В этой небольшой статье рассмотрим перевод из десятичной системы счисления в двоичную в python. Рассмотрим функцию bin() и напишем свою программу для перевода из десятичной СС в двоичную.

Функция bin()

Начнём с того, что в python существует специальная функция для перевода из десятичной системы счисления в двоичную.

bin() — функция, преобразовывающая целое число в двоичную строку. В качестве параметра принимает десятичное число.

Для примера переведём число 15 в двоичную СС с помощью функции bin():

print(bin(15))

Вывод:

0b1111

Как мы видим, всё преобразовалось верно, ведь 15 в двоичной СС — это 1111.

Преобразование вручную

Перейдём к тому, что напишем код для преобразования десятичной СС в двоичную.

Получать двоичное число из десятичного мы будем путём нахождения остатков от деления на 2. При этом, число, полученное на предыдущей итерации выступает в качестве делимого в следующей итерации. Деление заканчивается, когда от числа остаётся ноль. Все полученные остатки собираются в двоичное число начиная с конца.

Для примера рассмотрим алгоритм перевода числа 15 в двоичную СС:

15 / 2 = 7, остаток 1
7 / 2 = 3, остаток 1
3 / 2 = 1, остаток 1
1 / 2 = 0, остаток 1
0 — конец деления
Итог: 11112

Теперь напишем код для реализации алгоритма:

number = int(input('Число в десятичной СС: '))
 
numberb = ''
 
while number > 0:
    numberb = str(number % 2) + numberb
    number = number // 2
 
print(numberb)

number — переменная, в которую вводится число в десятичной СС;

numberb — переменная, хранящая остатки от деления.

Заключение

Вот мы и разобрались с вопросом перевода десятичной системы счисления в двоичную с помощью python.

Спасибо всем, кто читал, удачи Вам 😉

Admin
Admin
IT Start
Добавить комментарий

  1. Аватар
    Аноним

    Вы делаете большую работу для осознанного усваивания информации подрастающим поколением, за это отдельный респект) СПАСИБО

    Ответить
    1. Admin
      Admin автор

      Спасибо за отзыв, стараюсь)

      Ответить