🔢

Восьмиричный калькулятор

Калькулятор для программистов с поддержкой восьмиричных, шестнадцатеричных операций и логических функций

Восьмеричный калькулятор — арифметика и побитовые операции

Онлайн калькулятор для работы с восьмеричными числами (основание 8, цифры 0–7). Арифметические операции, побитовые (AND, OR, XOR, NOT), сдвиги и конвертация между OCT, DEC, HEX, BIN. Инструмент для программистов, работающих с правами файлов Unix, кодировками и низкоуровневым программированием.

  • Арифметика: +, −, ×, ÷, модуль
  • Побитовые: AND, OR, XOR, NOT, NAND, NOR
  • Сдвиги: << (влево), >> (вправо)
  • Конвертация OCT ↔ DEC ↔ HEX ↔ BIN
  • Результат во всех 4 системах одновременно
  • История вычислений

Где используется восьмеричная система

Права файлов Unix/Linux: chmod 755 — владелец rwx (7), группа r-x (5), остальные r-x (5). Каждая цифра — 3 бита (rwx). Восьмеричная идеальна для 3-битных групп. В старых компьютерных системах и языках (C: 0777 — восьмеричный литерал). В кодировках: Unicode escape \0377 в некоторых языках.

    Связь с двоичной системой

    Каждая восьмеричная цифра = ровно 3 бита: 0=000, 1=001, 2=010, 3=011, 4=100, 5=101, 6=110, 7=111. Конвертация тривиальна: 0755₈ → 000 111 101 101₂ → разбейте на тройки. Для шестнадцатеричной: 4 бита. Поэтому OCT удобна для 3-битных, HEX — для 4-битных полей.

      💡

      Пример из жизни

      Linux-администратор настраивает права на директорию веб-сервера. Нужно: владелец — полный доступ, группа — чтение+выполнение, остальные — только чтение.

      1

      Владелец rwx = 4+2+1 = 7₈, группа r-x = 4+0+1 = 5₈, остальные r-- = 4+0+0 = 4₈

      2

      chmod 754 — готово. Ввёл в калькулятор для проверки: 754₈ = 492₁₀ = 1EC₁₆ = 111101100₂

      3

      Проверил побитово: 754₈ AND 777₈ = 754₈ (все биты в пределах допустимых)

      Права установлены корректно. Калькулятор помог быстро проверить побитовое представление — владелец имеет все 3 бита (111), группа — 2 из 3 (101), остальные — 1 (100).

      🧠

      Знаете ли вы?

      🐧

      chmod 777 — самые опасные права в Linux: полный доступ всем. chmod 000 — никому, даже владельцу (кроме root)

      🔢

      Восьмеричная система использовалась в советских ЭВМ серии БЭСМ — машинное слово 48 бит = 16 восьмеричных цифр

      💻

      В языке C: число с лидирующим нулём — восьмеричное! 010 = 8₁₀, не 10. Частый источник багов у новичков

      📊

      В восьмеричной системе 8 цифр (0–7). Двузначным числом (77₈) можно записать 64 значения — это 6 бит

      🔧

      umask в Unix использует восьмеричную: umask 022 означает «забрать право записи у группы и остальных» из дефолтных 666/777

      📡

      В авиации восьмеричные коды транспондера (squawk): 7700 — аварийная ситуация, 7500 — угон, 7600 — потеря связи

      Восьмеричные, десятичные и двоичные числа

      OCTDECBINПрименение (права Unix)
      00000--- (нет прав)
      11001--x (выполнение)
      44100r-- (чтение)
      55101r-x (чтение+выполнение)
      66110rw- (чтение+запись)
      77111rwx (полный доступ)
      755493111 101 101rwxr-xr-x (типичные для программ)
      💡

      Важно знать

      Для Unix-прав: r=4, w=2, x=1. Складываете нужные: rw- = 4+2 = 6, r-x = 4+1 = 5, rwx = 4+2+1 = 7. Три цифры: владелец-группа-остальные. chmod 644 = rw-r--r-- (файлы), chmod 755 = rwxr-xr-x (программы и папки).

      Как использовать Восьмиричный калькулятор

      1

      Шаг 1

      Выберите систему счисления для ввода (OCT, DEC, HEX или BIN)

      2

      Шаг 2

      Введите число, нажмите операцию (+, AND, << и др.)

      3

      Шаг 3

      Введите второе число и нажмите = — результат во всех 4 системах

      4

      Шаг 4

      Для Unix-прав: конвертируйте восьмеричное число в двоичное — каждая тройка бит = rwx

      Примеры использования

      chmod 755: 755₈ → BIN

      7=111, 5=101, 5=101 → 111101101₂ = rwxr-xr-x. Стандартные права для исполняемых файлов

      Сложение: 77₈ + 1₈

      77₈ + 1₈ = 100₈ (64₁₀). Переполнение в восьмеричной: 7+1 = 10₈ (перенос)

      AND для проверки прав: 754₈ AND 4₈

      Проверяем: есть ли право чтения у «остальных»? 4₈ AND 4₈ = 4₈ (≠0) → да, есть

      Конвертация: 0xFF → OCT

      FF₁₆ = 255₁₀ = 377₈ = 11111111₂. Максимальный байт

      umask 022: какие права у нового файла?

      Дефолт файла 666₈. Маска 022₈. Права = 666 AND NOT(022) = 666 AND 755 = 644₈ (rw-r--r--)

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

      Зачем нужна восьмеричная, если есть шестнадцатеричная?
      OCT удобна для 3-битных полей (Unix-права: rwx = 3 бита). HEX — для 4-битных (байты: 2 HEX-цифры = 1 байт). В Unix-мире OCT — стандарт. В программировании и сетях — HEX. Выбирайте под задачу.
      Как перевести OCT в DEC в уме?
      Умножайте на степени восьмёрки: 755₈ = 7×64 + 5×8 + 5×1 = 448 + 40 + 5 = 493₁₀. Или: OCT → BIN (тривиально, по 3 бита) → DEC (сложите степени двойки).
      Что такое umask?
      Маска создания файлов в Unix. Определяет, какие права СНИМАЮТСЯ с дефолтных. umask 022: снимает w для группы и остальных. Новые файлы: 666-022=644 (rw-r--r--). Новые папки: 777-022=755 (rwxr-xr-x).
      Почему chmod использует восьмеричную?
      Каждая цифра = 3 бита = 3 права (rwx). Это совпадение сделало OCT идеальной: одна цифра на группу (владелец/группа/остальные). В HEX пришлось бы использовать дробные значения.
      Можно ли вводить отрицательные числа?
      В восьмеричной нет знака минуса «из коробки». Отрицательные числа представляются в дополнительном коде: −1 = 37777777777₈ (32 бита). Калькулятор поддерживает ввод через знак «−» и конвертирует автоматически.
      Как 010 в C может быть 8?
      В C/C++: число с лидирующим 0 — восьмеричный литерал. 010 = 1×8 + 0 = 8₁₀. 0xFF — шестнадцатеричный. 10 — десятичный. Это частый баг: массив int a[] = {010, 10} содержит {8, 10}, а не {10, 10}.

      Полезная информация

      🔒 Конфиденциальность. Все расчёты выполняются в браузере — данные не отправляются на сервер.

      🐧 Для Unix/Linux. Используйте калькулятор для работы с chmod, umask и побитовыми операциями — конвертация OCT ↔ BIN показывает права наглядно.

      Комментарии (1)

      Был ли полезен этот инструмент?
      Руслан Авдеев (автор проекта)1 янв. 2024 г., 00:00
      🎉 Спасибо, что используете наши инструменты! Все инструменты на ToolFox полностью бесплатны и постоянно улучшаются. 📝 Пожалуйста, оставляйте комментарии: - Если инструмент работает некорректно - Если есть идеи по улучшению - Поделитесь своим опытом использования 👍 Ставьте лайки/дизлайки - это помогает мне понять, какие инструменты нуждаются в доработке. Я обновляю сайт каждую неделю на основе вашей обратной связи. ⭐ Если вам нравится ToolFox — буду благодарен за отзыв о сайте в Яндекс.Браузере (нажмите на ⋮ → «Оценить сайт» в панели браузера). Это помогает другим людям находить наши инструменты! 😊 Также вы можете написать мне напрямую в Telegram: @avdeevrus Все доработки и улучшения по вашим пожеланиям делаю бесплатно! Благодарю за доверие и использование ToolFox! 🚀