Этот калькулятор систем счисления онлайн предназначен для преобразования числовых значений между четырьмя стандартными базисами. Инструмент поддерживает работу с двоичной, восьмеричной, десятичной и шестнадцатеричной системами, обеспечивая мгновенный пересчёт в реальном времени.
Принцип работы калькулятора
Перевод чисел из одной системы в другую выполняется через десятичную запись. Десятичная система служит универсальным посредником, что исключает ошибки при прямых переходах между редкими основаниями. Алгоритм сначала конвертирует исходное число в десятичный вид, а затем преобразует его в целевую систему путём последовательного деления на новое основание.
Таблица соответствия систем счисления
Для проверки корректности работы алгоритма используются эталонные значения. В таблице ниже приведены результаты перевода для часто встречающихся чисел.
| Десятичное | Двоичное | Восьмеричное | Шестнадцатеричное |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
Данные значения подтверждают точность вычислений при переходе от малых оснований к крупным.

Формула расчёта
Расчёт занимает три действия:
- Укажите значения в полях число, исходная система счисления.
- Формула применяется сразу после ввода, пересчёт идёт на лету.
- Итог выводится под калькулятором вместе с разбором расчёта. Для перевода из любой системы в десятичную применяется формула суммы произведений цифр на основание системы в соответствующей степени:
N = d(n) * B^n + d(n-1) * B^(n-1) + … + d(0) * B^0
Здесь N - десятичное число, d - цифра в разряде, B - основание исходной системы, n - порядковый номер разряда. При обратном переводе десятичное число делится на основание целевой системы до тех пор, пока частное не станет меньше делителя.
Пример с числом 55
Для перевода числа 55 в восьмеричную систему выполняется деление на 8: 55 / 8 = 6 (остаток 7) Результат записывается как частное и остаток: 67. В двоичной системе это же число 55 представляется как 110111.
Разбор числа 135
При переводе числа 135 из десятичной в двоичную систему последовательность остатков при делении на 2 формирует итоговую строку. 135 / 2 = 67 (остаток 1) 67 / 2 = 33 (остаток 1) 33 / 2 = 16 (остаток 1) 16 / 2 = 8 (остаток 0) 8 / 2 = 4 (остаток 0) 4 / 2 = 2 (остаток 0) 2 / 2 = 1 (остаток 0) 1 / 2 = 0 (остаток 1) Запись остатков снизу вверх даёт результат 10000111.
Практическое применение расчётов
Перевод в восьмеричную систему счисления и шестнадцатеричную запись требуется в программировании для компактного представления двоичных данных. Например, один шестнадцатеричный символ заменяет четыре двоичных бита, что упрощает чтение адресов памяти или кодов цветов. Число 91 в восьмеричной системе запишется как 133, а число 86 в десятичной в восьмеричную переводится как 126.
Округление и точность данных
Калькулятор работает с целыми числами. Точность исходных данных определяется корректностью ввода цифр, соответствующих выбранному основанию. В двоичной системе допустимы только 0 и 1, в восьмеричной - цифры от 0 до 7. Если ввести недопустимый символ, расчёт не будет произведён. Округление результата не требуется, так как алгоритм оперирует дискретными величинами.
Типичная ошибка и её избежание
Распространённой ошибкой является путаница между визуально похожими числами в разных системах. Например, комбинация цифр 1010 в десятичной системе означает одну тысячу десять, а в двоичной - число десять. Чтобы избежать ошибок, необходимо всегда проверять установленное основание исходной системы перед началом ввода.
Границы применимости
Инструмент ограничен четырьмя наиболее востребованными системами: двоичной (2), восьмеричной (8), десятичной (10) и шестнадцатеричной (16). Для вычисления значения выражения 7316 2e16, где числа представлены в шестнадцатеричном виде, их необходимо поочерёдно перевести в десятичную систему для выполнения арифметических действий. Число 2 в 2 системе счисления не может существовать, так как цифры в записи всегда меньше основания.
Проверка результата прикидкой
Для быстрой проверки можно использовать правило: чем больше основание системы, тем короче запись числа. Если при переходе из десятичной системы в двоичную количество разрядов уменьшилось, в расчётах допущена ошибка. Например, десятичное число 224 в двоичной системе должно иметь 8 разрядов (11100000), так как оно больше 128 (2 в 7 степени), но меньше 256 (2 в 8 степени).
Таблица частых преобразований для программистов
| Десятичное | Двоичное | Восьмеричное | Шестнадцатеричное | Применение |
|---|---|---|---|---|
| 2 | 10 | 2 | 2 | Минимальная степень двойки |
| 8 | 1000 | 10 | 8 | Один восьмеричный разряд |
| 32 | 100000 | 40 | 20 | Размер регистра |
| 55 | 110111 | 67 | 37 | Пример из документации |
| 64 | 1000000 | 100 | 40 | Степень двойки |
| 86 | 1010110 | 126 | 56 | Типовое значение |
| 91 | 1011011 | 133 | 5B | Код символа |
| 127 | 1111111 | 177 | 7F | Максимум знакового байта |
| 128 | 10000000 | 200 | 80 | Граница знакового бита |
| 135 | 10000111 | 207 | 87 | Расширенный ASCII |
| 192 | 11000000 | 300 | C0 | Маска подсети |
| 224 | 11100000 | 340 | E0 | Адрес сети |
| 256 | 100000000 | 400 | 100 | Один байт |
| 512 | 1000000000 | 1000 | 200 | Два байта |
| 1024 | 10000000000 | 2000 | 400 | Килобайт |
Как перевести число из двоичной системы в десятичную
Для перевода используется формула суммирования степеней двойки. Возьмём число 110111 (двоичная запись числа 55):
1×2^5 + 1×2^4 + 0×2^3 + 1×2^2 + 1×2^1 + 1×2^0 = 32 + 16 + 0 + 4 + 2 + 1 = 55
Каждая единица в разряде добавляет к сумме соответствующую степень двойки. Нулевые разряды не влияют на результат. Для числа 11100000 (двоичная запись 224):
1×2^7 + 1×2^6 + 1×2^5 = 128 + 64 + 32 = 224
Сценарий: перевод из 2 в 10 для анализа битовых масок
Программист получил битовую маску 10000111 и хочет узнать её десятичное значение. Применяя формулу:
1×2^7 + 0×2^6 + 0×2^5 + 0×2^4 + 0×2^3 + 1×2^2 + 1×2^1 + 1×2^0 = 128 + 4 + 2 + 1 = 135
Полученное значение 135 соответствует комбинации установленных битов в позициях 0, 1, 2 и 7.
Сценарий: перевод из десятичной в двоичную для работы с памятью
Требуется выделить 224 байта памяти и проверить выравнивание по границе. Переводим 224 в двоичную систему последовательным делением на 2:
224 / 2 = 112 (остаток 0) 112 / 2 = 56 (остаток 0) 56 / 2 = 28 (остаток 0) 28 / 2 = 14 (остаток 0) 14 / 2 = 7 (остаток 0) 7 / 2 = 3 (остаток 1) 3 / 2 = 1 (остаток 1) 1 / 2 = 0 (остаток 1)
Результат 11100000 показывает пять нулевых младших битов, что гарантирует выравнивание по 32 байтам.