🛝Toolio
О нас Контакты

🧮 Калькулятор программиста

Калькулятор программиста одновременно обрабатывает шестнадцатеричную, десятичную, восьмеричную и двоичную системы, а также битовые операции и фиксированные размеры слов, необходимые для низкоуровневого программирования. Введите значение в любой системе счисления, примените AND, OR, XOR, NOT, сдвиги или арифметические операции на 8, 16, 32 или 64 бита, и получите результат во всех четырёх системах сразу — бесплатно, полностью в вашем браузере, без загрузки данных.

Калькулятор программиста — это бесплатный онлайн-инструмент, который показывает число в шестнадцатеричной, десятичной, восьмеричной и двоичной системах одновременно, а также выполняет битовые операции (AND, OR, XOR, NOT, сдвиги) с фиксированным размером слова 8, 16, 32 или 64 бита — полностью в вашем браузере.

8 16 32 64
HEX0
DEC0
OCT0
BIN0
Биты — нажмите для переключения
AND OR XOR NOT NAND NOR XNOR ± Lsh Rsh Mod
CE AC ⌫ ÷ A B C × D E F − 7 8 9 + 4 5 6 1 2 3 0 =

Tip: use your keyboard — digits, A–F, + − * /, & | ^ ~ for AND/OR/XOR/NOT, Enter for =.

Приватно по умолчанию. Этот инструмент работает полностью в браузере — ничего, что вы вводите, не загружается, и он работает офлайн.

Об инструменте

Программистский калькулятор работает так, как разработчики действительно думают о числах: в битах и байтах, одновременно в нескольких системах счисления. Введите значение в шестнадцатеричном, десятичном, восьмеричном или двоичном формате, и инструмент покажет все четыре представления одновременно, обновляя их в реальном времени при вводе. Ниже отображения интерактивная таблица битов позволяет увидеть каждый отдельный бит текущего значения и переключить любой из них одним касанием — это незаменимо при создании битовых масок, установке флагов или понимании, как устроен регистр.

Калькулятор поддерживает полный набор битовых операций, на которых опирается повседневное системное программирование: AND, OR, XOR, NOT, NAND, NOR, XNOR, а также логические сдвиги влево и вправо (Lsh и Rsh) и остаток от деления. Вы также можете выполнять обычные целочисленные арифметические операции — сложение, вычитание, умножение и деление — и брать дополнение до двух для любого значения. Каждый результат вычисляется с учетом выбранного размера слова: 8, 16, 32 или 64 бита. Переполнение обрабатывается точно так же, как в реальном аппаратном обеспечении фиксированной ширины, поэтому то, что вы видите, точно соответствует тому, что выдаст программа на C, Rust или Go. Если вы введете цифру, которая не помещается в выбранный размер слова, она будет отклонена с кратким уведомлением, а при изменении размера слова значение сохранится: в режиме со знаком отрицательное число будет расширено знаком при увеличении размера (8-битное FF, что равно -1, станет 32-битным FFFFFFFF, что по-прежнему равно -1), беззнаковые значения будут расширены нулями, а при уменьшении размера сохраняются только младшие биты.

Переключатель «Со знаком» переключает десятичное отображение между беззнаковой интерпретацией и интерпретацией в дополнении до двух, а также меняет поведение деления, остатка от деления и сдвига вправо — деление со знаком округляется к нулю, а сдвиг вправо со знаком сохраняет бит знака, как это делает компилятор. Внутри все вычисления производятся с использованием JavaScript BigInt и маскируются до ширины слова, что означает, что 64-битные операции точны; встроенные 32-битные битовые операторы, которые тихо ломают многие другие веб-калькуляторы, здесь никогда не используются.

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

Поскольку инструмент ориентирован на низкоуровневую работу, он ускоряет выполнение таких распространенных задач, как преобразование цвета из шестнадцатеричного формата в десятичные каналы RGB, декодирование битов разрешений файлов Unix, извлечение полей из упакованного регистра состояния, проверка результата битовой маски и проверка выражений сдвига и маскирования перед добавлением в код. Все работает полностью в браузере — никакого сервера, никакого аккаунта, и ничего из введенного никогда не покидает устройство. Размер слова, режим знака и текущее значение сохраняются локально, поэтому калькулятор будет точно таким, как вы его оставили, при следующем использовании.

Как пользоваться

  1. Выберите размер слова — 8, 16, 32 или 64 бита — и включите «Знак», если хотите десятичное представление в дополнительном коде, деление и сдвиги.
  2. Выберите входную систему счисления, нажав на строку HEX, DEC, OCT или BIN, затем введите своё число с помощью клавиатуры или физической клавиатуры.
  3. Примените операцию: нажмите на кнопку битовой операции (AND, OR, XOR, NOT, NAND, NOR, XNOR), сдвиг (Lsh, Rsh), Mod или обычные + − × ÷.
  4. Введите второй операнд (он считывается в выбранной строке системы счисления, поэтому сначала переключите строки, если он находится в другой системе счисления), и нажмите =, чтобы вычислить; результат отобразится одновременно в шестнадцатеричном, десятичном, восьмеричном и двоичном форматах.
  5. Нажмите на любой бит в таблице битов, чтобы изменить его напрямую, или используйте кнопку копирования на любой строке системы счисления, чтобы скопировать это представление в буфер обмена.

Частые вопросы

Этот программистский калькулятор бесплатный, приватный и работает офлайн?
Да. Он полностью бесплатен без регистрации или входа в систему, а все вычисления выполняются локально в вашем браузере с использованием JavaScript — ничего, что вы вводите, не загружается. После загрузки страницы он работает полностью офлайн.
Как это отличается от конвертера систем счисления?
Конвертер систем счисления меняет только способ записи числа. Программистский калькулятор также выполняет вычисления: он производит битовые логические операции (AND, OR, XOR, NOT), сдвиг битов, модуль и арифметические операции с фиксированным размером слова, а также позволяет проверять и изменять отдельные биты — при этом показывая все четыре системы счисления одновременно.
Что делают размеры слов 8/16/32/64 бит?
Размер слова определяет, сколько бит занимает значение, как целочисленный тип в C, Rust или Go. Результаты маскируются до этого размера, поэтому переполнение оборачивается, а операции, такие как NOT, дают тот же результат, что и ваша программа. Используйте 8 бит для байта, 32 бита для обычного int или 64 бит для long.
Что такое переключатель «Знак» и дополнительный код?
Режим со знаком интерпретирует старший бит как знак с использованием дополнительного кода, представления, почти всеми процессорами. Это меняет десятичное отображение — например, 0xFF в 8 битах отображается как −1 — и делает деление, модуль и сдвиг вправо поведением со знаком. Отключите его для беззнаковых значений, таких как адреса или флаги битов.
Какие битовые операции поддерживаются?
AND, OR, XOR, NOT, NAND, NOR, XNOR, логический левый сдвиг (Lsh), правый сдвиг (Rsh), который логический при беззнаковом и арифметический при знаковом, модуль, отрицание в дополнительном коде (±), а также стандартные операции сложения, вычитания, умножения и деления.
Правильно ли обрабатывает 64-битные значения?
Да. Все математические операции используют JavaScript BigInt и маскируются до выбранного размера слова, поэтому 64-битные операции точны. Это избегает ошибки, присущей многим веб-калькуляторам, которые зависят от встроенных битовых операторов JavaScript, которые молча обрезают до 32 бит.
Можно ли использовать клавиатуру?
Да. Введите цифры и A–F напрямую, используйте + − * / для арифметики, & | ^ ~ для AND/OR/XOR/NOT, < и > для сдвигов, Enter для =, Backspace для удаления и Esc для очистки.
Можете ли вы привести конкретный пример?
Конечно. Чтобы прочитать красный канал шестнадцатеричного цвета #3A7BD5, выберите 32-битный беззнаковый режим, нажмите строку HEX и введите 3A7BD5, затем нажмите Rsh. Второе число считывается в той строке системы счисления, которая выбрана, поэтому нажмите строку DEC перед вводом 16 (введенное в строке HEX число 16 означает 0x16, сдвиг на 22 бита). Нажмите =, нажмите строку HEX снова, нажмите AND, введите FF и нажмите = — калькулятор показывает 58 в десятичном виде, что является значением красного канала (зеленый и синий каналы получаются аналогичным образом с другими сдвигами). В качестве другого примера, чтобы проверить, установлен ли бит выполнения владельцем в разрешении Unix 0o755, нажмите строку OCT, введите 755, нажмите AND, введите 100 (все еще в восьмеричной системе) и нажмите =; результат 100 не равен нулю, поэтому бит установлен. Работа с такими случаями одновременно во всех четырех системах счисления — это именно то, чего не может сделать один лишь преобразователь систем счисления.
Загружает ли этот инструмент мои данные?
Нет. Всё выполняется прямо в вашем браузере, поэтому ваши данные никогда не покидают устройство — после загрузки страницы он работает даже офлайн.