Справочная таблица перевода между системами счисления
В таблице показаны одни и те же значения в четырёх системах счисления. Обратите внимание: одна шестнадцатеричная цифра соответствует четырём двоичным, а одна восьмеричная — трём.
| Десятичное | Двоичное | Восьмеричное | Шестнадцатеричное |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 5 | 101 | 5 | 5 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
- Калькулятор работает с неотрицательными целыми числами вплоть до предела безопасных целых в арифметике IEEE 754 двойной точности (2⁵³ − 1 = 9 007 199 254 740 991); более крупные значения отклоняются, а не округляются молча.
- Дробные значения и отрицательные числа (представление в дополнительном коде) выходят за рамки этого конвертера.
Что такое двоичная система счисления?
Двоичная система — это позиционная система счисления с основанием 2: любое число записывается только цифрами 0 и 1, а каждая позиция соответствует степени двойки. Если читать двоичное число 1010 справа налево, его цифры дают 0×1 + 1×2 + 0×4 + 1×8 = 10 в десятичной записи. Цифровая электроника хранит и обрабатывает информацию в двоичном виде, потому что элемент схемы с двумя состояниями (включено/выключено) напрямую соответствует одной двоичной цифре, то есть биту.
Шестнадцатеричная (основание 16) и восьмеричная (основание 8) системы — компактные спутники двоичной. Поскольку 16 = 2⁴, одна шестнадцатеричная цифра соответствует ровно четырём двоичным, а поскольку 8 = 2³, одна восьмеричная цифра — ровно трём. В шестнадцатеричной системе используются цифры 0–9 и буквы A–F для значений от десяти до пятнадцати; десятичное число 255 записывается как 11111111 в двоичной системе, FF в шестнадцатеричной и 377 в восьмеричной.
Все позиционные системы подчиняются одному правилу: число, записанное цифрами dₙ…d₁d₀ в системе с основанием b, равно сумме произведений каждой цифры на b в степени, равной номеру позиции этой цифры. Поэтому перевод между системами — операция чисто нотационная: вычислите значение цифр по исходному основанию, а затем последовательно делите результат на основание целевой системы, чтобы записать его заново.
Как пользоваться этим двоичным калькулятором
- Введите число, которое нужно перевести (до 64 цифр; префиксы вида 0b, 0x или 0o допускаются и игнорируются).
- Выберите систему счисления, в которой записано число, — двоичную, десятичную, шестнадцатеричную или восьмеричную.
- Прочитайте десятичное значение и эквивалентные записи в двоичной, шестнадцатеричной и восьмеричной системах.
- Принимаются только цифры, допустимые в выбранной системе: например, цифра 8 недопустима при восьмеричном вводе.
Математика перевода между системами счисления
Чтобы перевести число в десятичную систему, умножьте каждую цифру на основание в степени, равной номеру позиции (счёт с 0 справа), и сложите результаты. Чтобы перевести из десятичной системы, последовательно делите число на основание целевой системы и читайте остатки в обратном порядке.
Разбор примера: 1010 в двоичной системе равно 1×2³ + 0×2² + 1×2¹ + 0×2⁰ = 8 + 2 = 10 в десятичной. Запись числа 10 в других системах: 10 ÷ 16 = 0, остаток 10 → A в шестнадцатеричной; 10 ÷ 8 = 1, остаток 2 → 12 в восьмеричной.
Частые ошибки
- Читать 10 в другой системе как «десять» — во всякой позиционной системе 10 означает само основание (10₂ = 2, 10₈ = 8, 10₁₆ = 16).
- Использовать цифры, которых нет в выбранной системе, например 8 или 9 в восьмеричной либо буквы после F в шестнадцатеричной.
- Путать размер групп битов: одна шестнадцатеричная цифра — это четыре бита, а одна восьмеричная — три, поэтому неверная разбивка двоичных цифр на группы даёт неправильный перевод.
- Забывать, что ведущие нули ничего не меняют: и 0010₂, и 10₂ равны 2 в десятичной системе.
Часто задаваемые вопросы
Как перевести двоичное число в десятичное вручную?
Умножьте каждую двоичную цифру на степень двойки, соответствующую её позиции (счёт с 0 от крайней правой цифры), и сложите результаты. Для 1101: 1×8 + 1×4 + 0×2 + 1×1 = 13. Если читать справа налево, значения позиций равны 1, 2, 4, 8, 16, 32 и так далее.
Как перевести десятичное число в двоичное?
Последовательно делите число на 2 и записывайте каждый остаток. Двоичный результат — это остатки, прочитанные в обратном порядке. Для 13: 13÷2 = 6, ост. 1; 6÷2 = 3, ост. 0; 3÷2 = 1, ост. 1; 1÷2 = 0, ост. 1 — читая снизу вверх, получаем 1101.
Почему компьютеры используют двоичную систему?
Цифровые схемы надёжно различают два уровня напряжения, и каждое состояние соответствует одной двоичной цифре (биту). Оборудование, построенное на двух состояниях, делает хранение данных и логику простыми и устойчивыми к помехам, поэтому все распространённые процессоры и модули памяти представляют данные в двоичном виде на физическом уровне — независимо от того, какой записью пользуется программист.
Для чего применяется шестнадцатеричная система?
Шестнадцатеричная система — компактный способ записи двоичных данных: одна шестнадцатеричная цифра кодирует ровно четыре бита, поэтому байт всегда занимает две шестнадцатеричные цифры (00–FF). Это стандартная запись для адресов памяти, кодов цвета (например, #FF6600), MAC-адресов и дампов данных, поскольку она заметно короче двоичной и переводится в неё поцифренно.
Какое максимальное число принимает этот калькулятор?
Ввод ограничен 64 цифрами и значениями не выше 2⁵³ − 1 = 9 007 199 254 740 991 — это наибольшее целое, которое число с плавающей запятой двойной точности IEEE 754 представляет точно. За этим пределом обычные числа JavaScript теряют целочисленную точность, поэтому калькулятор отклоняет ввод вместо того, чтобы возвращать округлённый результат.
Источники
- Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition, Addison-Wesley, 1997 — positional number systems and radix conversion.
- IEEE Std 754-2019. IEEE Standard for Floating-Point Arithmetic — double-precision format and exact-integer range.