Системы счисления: двоичная запись и переводы чисел

Системы счисления показывают, как записывать числа с помощью разных наборов цифр. В школьной информатике чаще всего встречаются десятичная, двоичная, восьмеричная и…

Краткий ответ

Системы счисления показывают, как записывать числа с помощью разных наборов цифр. В школьной информатике чаще всего встречаются десятичная, двоичная, восьмеричная и шестнадцатеричная системы.

Системы счисления показывают, как записывать числа с помощью разных наборов цифр. В школьной информатике чаще всего встречаются десятичная, двоичная, восьмеричная и шестнадцатеричная системы. Эта тема важна для ОГЭ, ЕГЭ по информатике и первых задач по устройству компьютера.

Десятичная система использует цифры от 0 до 9 и основание 10. Двоичная система использует только 0 и 1, потому что компьютер хранит данные через состояния, которые удобно считать выключенным и включенным сигналом.

Как перевести число в двоичную систему

Чтобы перевести десятичное число в двоичную запись, делите число на 2 и записывайте остатки. Остатки читаются снизу вверх.

Например, число 13:

1. 13 делим на 2, остаток 1. 2. 6 делим на 2, остаток 0. 3. 3 делим на 2, остаток 1. 4. 1 делим на 2, остаток 1.

Получается 1101.

n = int(input())
bits = ''

while n > 0:
    bits = str(n % 2) + bits
    n //= 2

print(bits or '0')

Как перевести обратно

Для перевода из двоичной системы в десятичную умножайте каждую цифру на степень двойки. В числе 1101 справа налево стоят разряды 1, 2, 4, 8. Поэтому получается 1 8 + 1 4 + 0 2 + 1 1 = 13.

bits = input()
answer = 0

for bit in bits:
    answer = answer * 2 + int(bit)

print(answer)

Что тренировать школьнику

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

Системы счисления не стоит учить как набор отдельных правил. Важно понять общую идею разрядов: значение цифры зависит от ее позиции и основания системы. Тогда задачи по информатике становятся предсказуемыми, а не похожими на угадывание формул.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-10