Задание 10. Сравнение чисел в разных системах счисления — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 10. Сравнение чисел в разных системах счисления — теория и разбор
Три числа записаны в трёх разных системах счисления — сравнивать их «как есть» нельзя, ведь одинаковые цифры значат разное. Единственный надёжный способ — перевести все числа в одну и ту же систему, обычно в привычную десятичную.
Что нужно знать
В позиционной системе счисления с основанием q число раскладывается по степеням q: цифра на последнем месте умножается на q⁰, следующая — на q¹, и так далее. Например, число 23 в шестнадцатеричной системе (23₁₆) — это 2·16¹ + 3·16⁰ = 32 + 3 = 35.
Чтобы сравнить числа в разных основаниях, переводим каждое в десятичную систему по этой формуле и уже потом сравниваем обычные числа.
Основание системы счисления — это то, на сколько степеней умножается каждая цифра слева направо: младший разряд (крайний справа) всегда умножается на основание в степени 0, то есть просто на 1.
Правило перевода в десятичную:
число = (последняя цифра)·q⁰ + (предпоследняя)·q¹ + (предпредпоследняя)·q² + …, гдеq— основание системы.
Разбор примера
Среди приведённых ниже трёх чисел, записанных в различных системах счисления, найдите минимальное и запишите его в ответе в десятичной системе счисления:
4C₁₆, 105₈, 1000011₂.
Как думать. Переводим каждое число в десятичную систему по отдельности, а затем просто сравниваем три обычных десятичных числа.
Показать решение и ответ
4C₁₆ (основание 16, цифра C = 12): 4·16¹ + 12·16⁰ = 64 + 12 = 76.
105₈ (основание 8): 1·8² + 0·8¹ + 5·8⁰ = 64 + 0 + 5 = 69.
1000011₂ (основание 2): 1·2⁶ + 0·2⁵ + 0·2⁴ + 0·2³ + 0·2² + 1·2¹ + 1·2⁰ = 64 + 2 + 1 = 67.
Сравниваем: 76, 69, 67 — минимальное значение 67.
Ответ: 67
Как решить в Python
В Python перевод любого основания в десятичное делает встроенная функция int(строка, основание) — не нужно писать формулу вручную:
a = int('4C', 16)
b = int('105', 8)
c = int('1000011', 2)
print(a, b, c) # 76 69 67
print(min(a, b, c)) # 67
Похожие материалы
Задание 10. Сумма цифр числа после перевода в другую систему — теория и разбор
Сумма цифр после перевода
Деление уголком и сравнение сумм цифр после перевода нескольких чисел в другую систему счисления — разбор примера и проверка в Python.
Задание 10. Сколько целых чисел удовлетворяет неравенству — теория и разбор
Количество чисел в неравенстве
Как посчитать целые числа между границами, заданными в разных системах счисления — разбор примера и проверка в Python.
Перевод чисел между системами счисления: тренажёр
Шесть листов с задачами на перевод чисел между двоичной и десятичной системами счисления для задания 10 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Числа в двоичной и десятичной системах: сборник задач
Листы с задачами на перевод чисел между двоичной и десятичной системами счисления для задания 10 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Системы счисления: практикум
Шесть листов с задачами на сравнение и перевод чисел в различных системах счисления для задания 10 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.