Обновлено:

Перевод восьмеричных чисел

Восьмеричная (октальная) система счисления — это позиционная система с основанием 8, использующая цифры от 0 до 7. Каждая позиция числа представляет степень числа 8: единицы (8⁰), восьмерки (8¹), шестьдесят четверки (8²) и так далее.

Введите восьмеричное число

Пример восьмеричного числа: 157₈ = 1×8² + 5×8¹ + 7×8⁰ = 64 + 40 + 7 = 111₁₀

Восьмеричная система широко применяется в программировании, особенно для установки прав доступа к файлам в Unix-подобных операционных системах (например, chmod 755) и в низкоуровневой работе с битовыми данными.

Как пользоваться конвертером

  1. Введите восьмеричное число в поле ввода (используйте только цифры 0-7)
  2. Выберите целевую систему счисления: двоичная (binary), десятичная (decimal) или шестнадцатеричная (hexadecimal)
  3. Получите результат мгновенно с подробным объяснением процесса перевода
  4. Скопируйте результат или выполните обратное преобразование

Конвертер автоматически проверяет корректность введенных данных и предупреждает об ошибках.

Методы перевода восьмеричных чисел

Перевод восьмеричного числа в десятичное

Алгоритм: умножьте каждую цифру на 8 в степени её позиции (справа налево, начиная с 0) и сложите результаты.

Формула: N₁₀ = aₙ×8ⁿ + aₙ₋₁×8ⁿ⁻¹ + … + a₁×8¹ + a₀×8⁰

Пример: 352₈ в десятичную систему

3×8² + 5×8¹ + 2×8⁰ = 3×64 + 5×8 + 2×1 = 192 + 40 + 2 = 234₁₀

Пошаговая таблица:

ПозицияЦифраСтепень 8ВычислениеРезультат
238² = 643 × 64192
158¹ = 85 × 840
028⁰ = 12 × 12
Сумма234₁₀

Перевод восьмеричного числа в двоичное

Алгоритм: замените каждую восьмеричную цифру соответствующей трехбитной двоичной комбинацией.

Таблица соответствия:

ВосьмеричнаяДвоичная
0000
1001
2010
3011
4100
5101
6110
7111

Пример: 642₈ в двоичную систему

6₈ = 110₂
4₈ = 100₂
2₈ = 010₂

642₈ = 110100010₂

Важно: Это самый быстрый способ перевода, так как не требует вычислений.

Перевод восьмеричного числа в шестнадцатеричное

Алгоритм: используйте двоичную систему как промежуточную.

Шаги:

  1. Переведите восьмеричное число в двоичное (по 3 бита на цифру)
  2. Сгруппируйте двоичные биты по 4 справа налево
  3. Переведите каждую группу из 4 бит в шестнадцатеричную цифру

Пример: 275₈ в шестнадцатеричную систему

Шаг 1: 275₈ → двоичное
2₈ = 010₂
7₈ = 111₂
5₈ = 101₂
Результат: 010111101₂

Шаг 2: Группировка по 4 бита справа
0001 0111 1101₂

Шаг 3: Перевод в hex
0001₂ = 1₁₆
0111₂ = 7₁₆
1101₂ = D₁₆

275₈ = BD₁₆

Альтернативный метод через десятичную систему

Если прямой перевод сложен, можно использовать десятичную систему как промежуточную:

  1. Переведите восьмеричное число в десятичное
  2. Переведите десятичное число в нужную систему счисления

Пример: 156₈ → шестнадцатеричная

Шаг 1: 156₈ → 110₁₀
1×64 + 5×8 + 6×1 = 64 + 40 + 6 = 110₁₀

Шаг 2: 110₁₀ → hex (делим на 16)
110 ÷ 16 = 6 остаток 14 (E)
6 ÷ 16 = 0 остаток 6

Читаем остатки снизу вверх: 6E₁₆

Терминология

Система счисления — способ записи чисел с помощью определенного набора символов (цифр) по определенным правилам.

Основание системы — количество уникальных цифр, используемых в системе. Для восьмеричной системы основание равно 8.

Позиционная система — система, где значение цифры зависит от её позиции в числе.

Разряд (позиция) — место, которое занимает цифра в записи числа. Нумерация идет справа налево, начиная с нуля.

Префикс 0 (ноль) — в языках программирования (C, C++, Java) восьмеричные числа записываются с ведущим нулем: 0755, 0123.

Биты и байты — три двоичных бита представляют одну восьмеричную цифру, восемь бит (1 байт) можно записать тремя восьмеричными цифрами (с дополнением).

Практические примеры и применение

Права доступа в Unix/Linux

Восьмеричная система используется для установки прав доступа к файлам командой chmod:

chmod 755 file.txt

Расшифровка 755₈:

Распространенные значения:

ВосьмеричноеДвоичноеПраваОписание
777111111111rwxrwxrwxПолный доступ всем
755111101101rwxr-xr-xСтандарт для исполняемых
644110100100rw-r–r–Стандарт для файлов
600110000000rw——-Приватный файл
700111000000rwx——Приватная директория

Цветовые коды (историческое применение)

В ранних системах цвета иногда кодировались восьмеричными числами:

377₈ = 255₁₀ = FF₁₆ (максимальная яркость)
200₈ = 128₁₀ = 80₁₆ (средняя яркость)

Работа с сетевыми масками

В некоторых случаях сетевые маски записываются в восьмеричной форме для компактности:

377.377.377.0₈ = 255.255.255.0₁₀ (стандартная маска /24)

Типичные ошибки при переводе

Использование недопустимых цифр

Неправильно: 389₈ (цифры 8 и 9 не существуют в восьмеричной системе)
Правильно: 387₈ или 279₁₀

Неправильная группировка битов

При переводе восьмеричное↔двоичное нужно группировать строго по 3 бита, а не по 4:

Неправильно: 75₈ → 0111|0101₂ (группировка по 4)
Правильно: 75₈ → 111|101₂ = 111101₂

Забывание ведущих нулей

При переводе в двоичную систему важно сохранять все три бита:

Неправильно: 301₈ → 11|1₂ (пропущены нули)
Правильно: 301₈ → 011|000|001₂ = 11000001₂

Ошибка при возведении в степень

Забывание порядка степеней приводит к неверному результату:

Неправильно: 25₈ = 2×8¹ + 5×8² = 16 + 320 = 336₁₀
Правильно: 25₈ = 2×8¹ + 5×8⁰ = 16 + 5 = 21₁₀

Полезные советы

Быстрая проверка результата

После перевода в десятичную систему можно проверить результат:

Упрощенный перевод малых чисел

Для чисел от 0 до 7 перевод тривиален — они одинаковы во всех системах:

5₈ = 5₁₀ = 101₂ = 5₁₆

Проверка через обратный перевод

Всегда проверяйте результат, выполнив обратное преобразование:

352₈ → 234₁₀ → 352₈ ✓

Использование калькулятора для сложных чисел

Для больших восьмеричных чисел (более 5 разрядов) используйте калькулятор, чтобы избежать арифметических ошибок.


Примечание: При работе с восьмеричными числами в программировании обращайте внимание на префиксы и соглашения конкретного языка. В Python префикс 0o (например, 0o755), в C/C++ — просто 0 (0755).

Часто задаваемые вопросы

Как быстро отличить восьмеричное число от других?

Восьмеричное число содержит только цифры от 0 до 7. Если встречаются цифры 8 или 9, это десятичная система. В программировании восьмеричные числа часто начинаются с префикса 0 (например, 0755 в Unix-правах).

Почему восьмеричная система используется в программировании?

Восьмеричная система компактно представляет группы из 3 двоичных битов одной цифрой. Это удобно для записи прав доступа к файлам в Unix/Linux (rwx = 111 = 7) и работы с побитовыми операциями.

Можно ли переводить дробные восьмеричные числа?

Да, восьмеричные дроби переводятся аналогично целым числам. Цифры после запятой умножаются на 8⁻¹, 8⁻², 8⁻³ и так далее. Например, 0.4₈ = 4×8⁻¹ = 0.5₁₀.

Какая связь между восьмеричной и двоичной системами?

Одна восьмеричная цифра точно соответствует трем двоичным битам: 0₈=000₂, 1₈=001₂, 2₈=010₂, 3₈=011₂, 4₈=100₂, 5₈=101₂, 6₈=110₂, 7₈=111₂. Это делает перевод очень простым.

Где еще применяется восьмеричная система кроме программирования?

Восьмеричная система использовалась в ранних компьютерах с 36-битной архитектурой, в некоторых цифровых дисплеях и индикаторах. Сегодня она встречается реже, уступая место шестнадцатеричной системе.

Мы подобрали калькуляторы, которые помогут вам с разными задачами, связанными с текущей темой.