Перевод чисел между системами счисления
255 = 11111111₂ = 377₈ = FF₁₆. Введите число, выберите исходное и целевое основание от 2 до 36 — конвертер покажет запись во всех основных системах, разложение по степеням и дополнительный код для отрицательных.
Инструмент
Как перевести число из одной системы счисления в другую
Любое позиционное число — это сумма цифр, умноженных на степени основания: 255 в десятичной системе означает 2 × 10² + 5 × 10¹ + 5 × 10⁰. Чтобы перевести число в другую систему, его раскладывают по степеням нового основания. На практике удобнее два приёма: из любой системы в десятичную — умножением на степени, из десятичной в любую — делением с остатком.
N = aₙ × bⁿ + … + a₁ × b¹ + a₀ × b⁰ + a₋₁ × b⁻¹ + a₋₂ × b⁻² + …
Пример вручную, 255 в двоичную: 255 ÷ 2 = 127 (остаток 1), 127 ÷ 2 = 63 (1), 63 ÷ 2 = 31 (1), 31 ÷ 2 = 15 (1), 15 ÷ 2 = 7 (1), 7 ÷ 2 = 3 (1), 3 ÷ 2 = 1 (1), 1 ÷ 2 = 0 (1). Остатки снизу вверх — 11111111. В шестнадцатеричную: 255 ÷ 16 = 15 (остаток 15), 15 ÷ 16 = 0 (остаток 15); цифра 15 — это F, ответ FF. Обратно: FF₁₆ = 15 × 16 + 15 = 255.
Дробная часть переводится умножением: 0,625 × 2 = 1,25 (цифра 1), 0,25 × 2 = 0,5 (0), 0,5 × 2 = 1,0 (1) — получаем 0,101₂, а всё число 10,625 = 1010,101₂. Конвертер принимает основание от 2 до 36 (цифры 0–9 и буквы A–Z), знак минус, префиксы 0x, 0b, 0o и пробелы между разрядами; целая часть любой длины считается точно, дробная — с округлением до 12 знаков.
Таблица чисел 0–20 в двоичной, восьмеричной и шестнадцатеричной системах
| Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 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 |
| 17 | 10001 | 21 | 11 |
| 18 | 10010 | 22 | 12 |
| 19 | 10011 | 23 | 13 |
| 20 | 10100 | 24 | 14 |
Полная таблица 0–255 — под результатом конвертера: 255 — наибольшее число в одном байте, 11111111₂ = 377₈ = FF₁₆. Запомнить стоит степени двойки: 2⁸ = 256, 2¹⁰ = 1 024, 2¹⁶ = 65 536, 2³² = 4 294 967 296.
Где применяются двоичная, восьмеричная и шестнадцатеричная системы
Двоичная система — язык процессоров: каждый бит — 0 или 1, восемь битов — байт со значениями от 0 до 255. Маску подсети записывают как /24 — это число единиц в двоичной записи маски 255.255.255.0.
Восьмеричная система живёт в Unix и Linux: права доступа chmod 755 — это 111 101 101₂, где каждая тройка битов задаёт чтение, запись и выполнение для владельца, группы и остальных.
Шестнадцатеричная система — цвета CSS (#1E90FF = 30, 144, 255), MAC-адреса (A4:5E:60:…), коды символов Юникода (U+0416 — буква Ж), адреса и дампы памяти, хеши MD5 и SHA-256. Одна hex-цифра равна четырём битам, поэтому байт записывается двумя знаками.
Системы с основанием 32 и 36 используют для коротких идентификаторов и ссылок: 36-ричная запись цифрами и латинскими буквами сокращает число 1 295 до ZZ. Задачи на перевод из одной системы в другую входят в ЕГЭ и ОГЭ по информатике в России, ЦЭ в Беларуси и ЕНТ в Казахстане — там как раз встречаются основания 3, 5, 7 и подобные.
Отрицательные числа и дополнительный код
−42 в математической записи — это просто −101010₂. Процессор знака не хранит: в дополнительном коде отрицательное число заменяют на 2ⁿ − |x| для разрядности n. Для 8 бит −42 → 256 − 42 = 214 = 11010110₂ = D6₁₆, для 16 бит → 65 536 − 42 = 65 494 = FFD6₁₆. Старший единичный бит означает минус, а сложение работает как с обычными числами — поэтому этот способ и выбрали. Конвертер показывает дополнительный код для наименьшей разрядности (8, 16, 32 или 64 бита), в которую помещается число.
Пример расчёта
- Исходные данные: Число — 255; Из системы — 10 — десятичная; В систему — 2 — двоичная.
- Формула: 11111111₂ = 1 × 2⁷ + 1 × 2⁶ + 1 × 2⁵ + 1 × 2⁴ + 1 × 2³ + 1 × 2² + 1 × 2¹ + 1 × 2⁰ = 255.
- Результат: 255₁₀ в двоичной системе — 1111 1111 (Двоичная (2) — 1111 1111; Восьмеричная (8) — 377; Десятичная (10) — 255; Шестнадцатеричная (16) — FF).
Вопросы и ответы
Как перевести число из десятичной системы в двоичную?
Делите число на 2 и записывайте остатки, пока частное не станет нулём, затем прочитайте остатки снизу вверх. 13 ÷ 2 = 6 (остаток 1), 6 ÷ 2 = 3 (0), 3 ÷ 2 = 1 (1), 1 ÷ 2 = 0 (1) — получается 1101. Для перевода в восьмеричную или шестнадцатеричную систему делите на 8 или 16.
Как перевести из двоичной системы в десятичную?
Умножьте каждую цифру на 2 в степени её позиции, считая справа с нуля, и сложите. 1101₂ = 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1 = 13. Для шестнадцатеричной вместо 2 берите 16, а буквы A–F означают 10–15: 1A₁₆ = 1 × 16 + 10 = 26. Конвертер показывает это разложение в строке формулы.
Как перевести дробное число в двоичную систему?
Целую часть переводите делением, дробную — умножением на 2: целая часть произведения становится очередной цифрой. 0,625 × 2 = 1,25 → 1; 0,25 × 2 = 0,5 → 0; 0,5 × 2 = 1 → 1, итого 0,101₂. Многие десятичные дроби, например 0,1, в двоичной системе бесконечны — конвертер округляет их до 12 знаков.
Зачем нужны восьмеричная и шестнадцатеричная системы?
Они компактно записывают двоичные данные: одна восьмеричная цифра — ровно 3 бита, одна шестнадцатеричная — 4 бита. Поэтому права доступа в Linux пишут восьмерично (chmod 755 = 111 101 101), а цвета в CSS, MAC-адреса и дампы памяти — шестнадцатерично (#FF8000 = 255, 128, 0).
Как записать отрицательное число в двоичной системе?
В математике — знаком минус перед модулем: −42 = −101010₂. В памяти компьютера используют дополнительный код: из 2ⁿ вычитают модуль числа, где n — разрядность. Для 8 бит −42 → 256 − 42 = 214 = 11010110₂ = D6₁₆. Конвертер показывает дополнительный код для минимальной подходящей разрядности.
Обновлено: