Калькулятор системы счисления
Конвертер систем счисления онлайн: переводите числа из двоичной, восьмеричной, десятичной или шестнадцатеричной системы с пошаговым решением.
Похожие калькуляторы и статьи
- Калькулятор программиста
- Рассчитать размер изображения
- Информационный объем страницы
- Сколько весит видео
- Сколько интернет-трафика нужно
- Калькулятор IP подсетей онлайн
Что такое позиционная система счисления
Система счисления — способ записи чисел с помощью ограниченного набора символов. В позиционной системе значение каждой цифры зависит от её места в записи числа: чем левее позиция, тем она «весомее». Количество уникальных символов называется основанием (базой) системы.
Общая формула значения числа в позиционной записи:
где — основание системы, — цифра на позиции , нумерация позиций идёт справа налево начиная с нуля.
Основные системы счисления
| Название | Основание | Символы | Применение |
|---|---|---|---|
| Двоичная (BIN) | 2 | 0, 1 | Внутренняя логика процессоров и памяти |
| Восьмеричная (OCT) | 8 | 0–7 | Права доступа Unix/Linux, адресация |
| Десятичная (DEC) | 10 | 0–9 | Повседневные расчёты |
| Шестнадцатеричная (HEX) | 16 | 0–9, A–F | Цвета HTML/CSS, адреса памяти, MAC-адреса |
| Произвольная | 2–36 | 0–9, A–Z | Специальные задачи программирования |
Основание записывают нижним индексом: .
Перевод в десятичную систему
Любое число из системы с основанием переводится в десятичную по формуле разложения: каждую цифру умножают на степень основания, соответствующую её позиции, затем суммируют результаты.
Двоичное → десятичное:
Восьмеричное → десятичное:
Шестнадцатеричное → десятичное (A = 10, F = 15):
Метод универсален: меняйте только основание и состав алфавита цифр.
Перевод из десятичной системы
Для перевода целого числа из десятичной в систему с основанием применяют метод последовательного деления: число делят на , записывают остаток, затем делят частное — и так до нуля. Цифры результата читают снизу вверх.
Пример: → двоичная
| Делимое | Частное | Остаток |
|---|---|---|
| 45 | 22 | 1 |
| 22 | 11 | 0 |
| 11 | 5 | 1 |
| 5 | 2 | 1 |
| 2 | 1 | 0 |
| 1 | 0 | 1 |
Читаем остатки снизу вверх: .
Проверка: ✓
Для восьмеричной или шестнадцатеричной систем алгоритм идентичен — меняется только делитель (8 или 16).
Быстрый перевод между двоичной, восьмеричной и шестнадцатеричной
Поскольку и , между этими тремя системами существует прямой способ перевода без промежуточных вычислений через десятичную.
BIN → OCT: сгруппируйте биты по 3 справа налево (крайнюю левую группу дополните нулями). Каждую тройку замените одной восьмеричной цифрой.
BIN → HEX: сгруппируйте биты по 4 справа налево. Каждую четвёрку замените одной шестнадцатеричной цифрой.
Пример: → OCT и HEX
Группы по 3: 011 | 010 | 111 → 3 2 7 → 327₈
Группы по 4: 1101 | 0111 → D 7 → D7₁₆
Проверка: , ✓
Обратный перевод (OCT → BIN, HEX → BIN) работает симметрично: каждую цифру разворачивают в триаду или тетраду битов соответственно.
Таблица перевода чисел 0–16
| DEC | BIN | OCT | HEX |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
Обратите внимание: с в восьмеричной появляется второй разряд, а с — в шестнадцатеричной. Это наглядно показывает, как переполняется разряд при достижении основания.
Типичные ошибки при переводе
Обратный порядок остатков. При методе деления остатки записывают снизу вверх. Если прочитать их сверху вниз — получится совершенно другое число.
Неверная нумерация позиций. Правая (младшая) цифра — это позиция 0, а не 1. Смещение на единицу даёт ошибку в степени основания и неверный результат уже на первом разряде.
Неполная тетрада при BIN → HEX. Крайнюю левую группу нужно дополнить ведущими нулями до четырёх бит: делится на → дополняем → → . Без дополнения левый разряд будет считаться неверно.
Путаница буквы и цифры в HEX. В числе буква B — это цифра 11, а не 8. При ручном счёте удобно сразу подписывать десятичные значения букв.