Перевод систем счисления онлайн — с пошаговым решением
Переводи числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами — с решением по шагам, как в тетради, а не только с ответом. Сразу показывает число во всех системах.
Как это делается
- В десятичную — по разрядам: каждую цифру умножаем на основание в степени её позиции и складываем. Например 101₂ = 1·2² + 0·2¹ + 1·2⁰ = 5.
- Из десятичной — делением: делим число на нужное основание до нуля; остатки снизу вверх и есть ответ.
- Быстрая связка: 2↔8 — группами по 3 бита, 2↔16 — по 4 бита.
Разбор примера: 45 в двоичную и обратно
Делим 45 на 2 и записываем остатки: 45 = 22·2 + 1, 22 = 11·2 + 0, 11 = 5·2 + 1, 5 = 2·2 + 1, 2 = 1·2 + 0, 1 = 0·2 + 1. Читаем остатки снизу вверх: 101101₂. Проверка обратным ходом: 1·32 + 0·16 + 1·8 + 1·4 + 0·2 + 1·1 = 45. Через группировку по 4 бита то же число в шестнадцатеричной: 0010 1101 → 2D₁₆.
Зачем это в информатике
Системы счисления — базовая тема 7–8 класса и постоянный гость олимпиад и ЕГЭ по информатике. Понимание разрядов и деления с остатком нужно для битовых операций, хешей и множества алгоритмов.
Как это же делается на Python
Из десятичной: bin(45) даёт 0b101101, hex(45) — 0x2d, oct(45) — 0o55. Обратно: int('101101', 2) вернёт 45. Префикс 0b при выводе обычно срезают через bin(45)[2:]. Ручной перевод всё равно нужен: на устных турах и в заданиях с объяснением просят показать ход.
Где чаще всего ошибаются
- Читают остатки сверху вниз вместо снизу вверх — число получается перевёрнутым.
- Забывают, что в шестнадцатеричной после 9 идут A–F, и пишут «10» вместо A.
- Группируют биты для восьмеричной по 4 вместо 3 — группы разные: 8 = 2³, 16 = 2⁴.