Конвертер систем счисления переводит число из двоичной, восьмеричной, десятичной или шестнадцатеричной записи в любую другую. Введите значение и укажите основания — ответ появится во всех четырёх видах.
- работает прямо в браузере на длинной арифметике: введите число из сотни цифр, точность не потеряется;
- кнопка со стрелками меняет системы местами — так можно перевести число обратно и получить исходную запись;
- минус сохраняется, дробную часть инструмент не берёт.
Что такое конвертер систем счисления
Инструмент меняет форму записи, а число прежнее: 25 в десятичной, 11001 в двоичной и 19 в hex — одно количество, три представления. Вручную перевод занимает минуту, конвертер отвечает за клик, поэтому используется в работе и в учёбе: цвет в вёрстке, маски прав, адреса памяти, задание по информатике — в такой работе нужна помощь.
Основные системы счисления
Основание показывает, сколько цифр используется в записи числа: в двоичной две, в восьмеричной восемь, в десятичной десять, в шестнадцатеричной шестнадцать, а после 9 стоят уже не цифры, а буквы A-F. Вес разряда растёт справа налево: каждый следующий в основание раз больше соседнего.
| Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная (hex) |
|---|---|---|---|
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 255 | 11111111 | 377 | FF |
Байт из восьми бит укладывается в две цифры hex, поэтому 255 записывается как FF — предел байта.
Позиционные и непозиционные системы, римская запись и ручной перевод разобраны в статье о системах счисления, там же таблица от 0 до 16 и тренажёр.
Римские числа переводит отдельный конвертер римских цифр: в обе стороны, с проверкой записи и калькулятором века.
Как перевести число вручную
В любой системе счисления способ один из двух. Перевод в десятичную делают разложением по разрядам: для 1011 в двоичной системе это 1·23 + 0·22 + 1·21 + 1·20 = 11. Каждую цифру умножают на основание в степени её позиции, позиции считают с нуля справа.
Второй способ — деление с остатком. Перевод в шестнадцатеричную для 200: 200 : 16 = 12 (остаток 8), 12 : 16 = 0, а 12 в hex — это C. Записывайте остатки снизу вверх, получится C8. Перевод в двоичную и восьмеричную такой же, меняется делитель.
Каждая пара с десятичной разобрана подробнее и со своей таблицей: из двоичной в десятичную, из восьмеричной в десятичную, из шестнадцатеричной в десятичную.
Перевод между двоичной, восьмеричной и шестнадцатеричной
Основания 2, 8 и 16 — степени двойки, поэтому пары между ними переводят группировкой бит, а не делением с остатком. Восьмеричная система заменяет цифрой три бита, шестнадцатеричная система — четыре. Счёт в десятичной системе тут не нужен.
| Три бита | Восьмеричная | Четыре бита | Hex |
|---|---|---|---|
| 000 | 0 | 1000 | 8 |
| 001 | 1 | 1001 | 9 |
| 010 | 2 | 1010 | A |
| 011 | 3 | 1011 | B |
| 100 | 4 | 1100 | C |
| 101 | 5 | 1101 | D |
| 110 | 6 | 1110 | E |
| 111 | 7 | 1111 | F |
Первые восемь четвёрок повторяют тройки с нулём впереди: 0101 и 101 — это пятёрка в обеих записях.
Из двоичной в восьмеричную и обратно
Биты делят на тройки справа налево, слева дописывают нули до полной тройки: 11010110 превращается в 011 010 110. Каждая тройка даёт свою цифру — 3, 2, 6, ответ 326. Обратно каждую восьмеричную цифру разворачивают в три бита, ведущие нули отбрасывают. Восьмеричная система живёт в правах доступа: 755 — это девять бит.
Из двоичной в шестнадцатеричную и обратно
Приём тот же, но четвёрками: 11010110 делится на 1101 и 0110, это D и 6, ответ D6. В hex удобно читать разряды: знак отвечает за свою тетраду бит. Обратно каждую цифру hex разворачивают в четыре бита: A — это 1010.
Из восьмеричной в шестнадцатеричную
Прямого соответствия между цифрами нет: три бита на четыре не делятся. Восьмеричное число раскрывают в биты и перегруппировывают по четыре: 326 — это 011 010 110, после перегруппировки 1101 0110, то есть D6 без промежуточного шага в десятичной системе.
Типичные ошибки при переводе между системами
- Перепутано основание. Запись 11 в двоичной системе соответствует трём, а не одиннадцати: посмотрите, в какой системе записано исходное число.
- Неверная группировка: группировать биты нужно по три для восьмеричной цифры и по четыре для hex.
- Остатки собраны сверху вниз: при делении читают снизу вверх.
- Потеряна дробная часть. Целую делят на основание, дробную умножают.
- Буквы приняты за десятичные цифры: в hex A равно 10, а F равно 15 — это один разряд, а не два.