Восьмеричная система счисления — позиционная система с основанием 8. Это означает, что для записи чисел в ней используются всего восемь цифр: 0, 1, 2, 3, 4, 5, 6 и 7. Каждая позиция (разряд) в числе соответствует степени числа 8. Исторически она была удобна в вычислительной технике благодаря простой связи с двоичной системой (одна восьмеричная цифра соответствует трём двоичным разрядам). Знание алгоритмов перевода между системами — фундаментальный навык в информатике.
Алгоритм перевода методом деления (с остатком)
Это универсальный и самый распространённый метод для перевода целых десятичных чисел в любую другую систему счисления, включая восьмеричную.
Шаг 1: Исходное число. Возьмите целое десятичное число, которое нужно перевести.
Шаг 2: Первое деление. Разделите это число на 8 (основание новой системы). Запишите полученное целое частное и остаток от деления. Остаток всегда будет находиться в диапазоне от 0 до 7 — это младший разряд (разряд единиц, 8⁰) будущего восьмеричного числа.
Шаг 3: Повторение. Полученное частное снова разделите на 8. Запишите новое частное и новый остаток. Этот остаток станет следующим разрядом (разрядом восьмёрок, 8¹) в восьмеричном числе.
Шаг 4: Итерации. Продолжайте процесс деления, каждый раз используя последнее частное в качестве делимого. Записывайте остатки. Процесс завершается, когда частное от деления станет равным 0.
Шаг 5: Формирование результата. Восьмеричное число образуется последовательной записью остатков от деления в обратном порядке — от последнего полученного к первому.
Подробный пример: переводим 2026₁₀ в восьмеричную систему
Давайте переведём текущий год (2026) в восьмеричную систему, следуя алгоритму.
- 2026 ÷ 8 = 253, остаток 2 (это разряд 8⁰).
- 253 ÷ 8 = 31, остаток 5 (это разряд 8¹).
- 31 ÷ 8 = 3, остаток 7 (это разряд 8²).
- 3 ÷ 8 = 0, остаток 3 (это разряд 8³).
Деление остановилось, так как частное стало равно 0. Теперь запишем остатки в обратном порядке (снизу вверх): 3, 7,喂养, 2.
Результат: 2026₁₀ = 3752₈.
Проверка правильности перевода (обратный перевод)
Чтобы убедиться в правильности, выполним обратное преобразование — переведём 3752₈ обратно в десятичную систему.
Восьмеричное число раскладывается по степеням основания 8: 3752₈ = (3 × 8³) + (7 × 8²) + (5 × 8¹) + (2 × 8⁰)
Посчитаем:
- 3 × 512 = 1536
- 7 × 64 = 448
- 5 × 8 = 40
- 2 × 1 = 2
Суммируем: 1536 + 448 + 40 + 2 = 2026. Результат совпадает с исходным числом, перевод выполнен верно.
Ещё один пример для закрепления: 95₁₀
- 95 ÷ 8 = 11, остаток 7.
- 11 ÷ 8 = 1, остаток 3.
- 1 ÷ 8 = 0, остаток 1.
Записываем остатки в обратном порядке: 1, 3, 7.
Результат: 95₁₀ = 137₈.
Проверка: (1 × 8²) + (3 × 8¹) + (7 × 8⁰) = 64 + 24 + 7 = 95.
Кратко о связи с двоичной системой
Простота связи с двоичным кодом — ключевая особенность восьмеричной системы. Каждая восьмеричная цифра (от 0 до 7) может быть однозначно представлена трёмя двоичными разрядами (триадой):
| Восьмеричная | Двоичная (триада) |
|---|---|
| 0 | 000 |
| 1 | 001 |
| 2 | 010 |
| 3 | 011 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
Поэтому перевод из десятичной системы в восьмеричную можно выполнить косвенным путём: сначала перевести число в двоичную систему, а затем сгруппировать полученные двоичные разряды по три (начиная с младших) и заменить каждую триаду соответствующей восьмеричной цифрой.
Пример для числа 95₁₀:
- 95₁₀ = 1011111₂ (в двоичной).
- Разбиваем на триады справа налево, добавляя при необходимости незначащие нули слева: 001 011 111.
- Заменяем триады: 001₂=1₈, 011₂=3₈, 111₂=7₈.
- Получаем: 137₈, что совпадает с результатом прямого перевода.
Этот метод особенно удобен для тех, кто уже хорошо ориентируется в двоичной системе.