Перейти к содержимому

Перевод чисел между системами счисления

255 = 11111111₂ = 377₈ = FF₁₆. Введите число, выберите исходное и целевое основание от 2 до 36 — конвертер покажет запись во всех основных системах, разложение по степеням и дополнительный код для отрицательных.

Инструмент

Знак «−», дробная часть через запятую, префиксы 0x/0b/0o и пробелы между разрядами допускаются
255₁₀ в двоичной системе
1111 1111
11111111₂ = 1 × 2⁷ + 1 × 2⁶ + 1 × 2⁵ + 1 × 2⁴ + 1 × 2³ + 1 × 2² + 1 × 2¹ + 1 × 2⁰ = 255
  • Двоичная (2)1111 1111
  • Восьмеричная (8)377
  • Десятичная (10)255
  • Шестнадцатеричная (16)FF
  • Битов в целой части8 бит
  • Знаков в результате8
Числа 0–255 в двоичной, восьмеричной и шестнадцатеричной системах
ДесятичнаяДвоичнаяВосьмеричнаяШестнадцатеричная
000000000000
100000001101
200000010202
300000011303
400000100404
500000101505
600000110606
700000111707
8000010001008
9000010011109
1000001010120A
1100001011130B
1200001100140C
1300001101150D
1400001110160E
1500001111170F
Целая часть переводится без ограничения длины; дробная — с точностью до 12 знаков целевой системы.
Перевод систем счисления — двоичная, восьмеричная, hex
Из любой системы с основанием 2–36 в двоичную, восьмеричную, десятичную и шестнадцатеричную

Как перевести число из одной системы счисления в другую

Любое позиционное число — это сумма цифр, умноженных на степени основания: 255 в десятичной системе означает 2 × 10² + 5 × 10¹ + 5 × 10⁰. Чтобы перевести число в другую систему, его раскладывают по степеням нового основания. На практике удобнее два приёма: из любой системы в десятичную — умножением на степени, из десятичной в любую — делением с остатком.

N = aₙ × bⁿ + … + a₁ × b¹ + a₀ × b⁰ + a₋₁ × b⁻¹ + a₋₂ × b⁻² + …

Разложение по степеням основания 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 в двоичной, восьмеричной и шестнадцатеричной системах

ДесятичнаяДвоичнаяВосьмеричнаяШестнадцатеричная
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
17100012111
18100102212
19100112313
20101002414

Полная таблица 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 бита), в которую помещается число.

Пример расчёта

  1. Исходные данные: Число — 255; Из системы — 10 — десятичная; В систему — 2 — двоичная.
  2. Формула: 11111111₂ = 1 × 2⁷ + 1 × 2⁶ + 1 × 2⁵ + 1 × 2⁴ + 1 × 2³ + 1 × 2² + 1 × 2¹ + 1 × 2⁰ = 255.
  3. Результат: 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₁₆. Конвертер показывает дополнительный код для минимальной подходящей разрядности.

Обновлено: