🧮 Калькулятор программиста
Калькулятор программиста одновременно обрабатывает шестнадцатеричную, десятичную, восьмеричную и двоичную системы, а также битовые операции и фиксированные размеры слов, необходимые для низкоуровневого программирования. Введите значение в любой системе счисления, примените AND, OR, XOR, NOT, сдвиги или арифметические операции на 8, 16, 32 или 64 бита, и получите результат во всех четырёх системах сразу — бесплатно, полностью в вашем браузере, без загрузки данных.
Калькулятор программиста — это бесплатный онлайн-инструмент, который показывает число в шестнадцатеричной, десятичной, восьмеричной и двоичной системах одновременно, а также выполняет битовые операции (AND, OR, XOR, NOT, сдвиги) с фиксированным размером слова 8, 16, 32 или 64 бита — полностью в вашем браузере.
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.
Переключатель «Знак» изменяет десятичное отображение между беззнаковым и интерпретацией в дополнительном коде, а также влияет на поведение деления, модуля и сдвига вправо — деление со знаком усекается к нулю, а сдвиг вправо с сохранением знака, как это делает ваш компилятор. Внутри все вычисления производятся с использованием JavaScript BigInt и маскируются до ширины слова, что означает, что операции с 64 битами точны; встроенные 32-битные битовые операторы, которые молча ломают многие другие веб-калькуляторы, здесь никогда не используются.
Инструмент также полезен и за пределами профессионального программирования. Студенты, изучающие архитектуру компьютеров, могут наблюдать за дополнительным кодом, расширением знака и переполнением по одному биту за раз; любители электроники и встраиваемых систем могут составить точный байт для отправки в регистр устройства; а любой, кто отлаживает шестнадцатеричный дамп, формат файла или пакет сети, может извлечь отдельные поля без обращения к скрипту. Поскольку все системы счисления и биты остаются видимыми одновременно, связь между шестнадцатеричным представлением значения, его битами и его десятичным значением всегда находится перед вами.
Поскольку инструмент ориентирован на низкоуровневую работу, он ускоряет такие распространённые задачи, как преобразование цвета из шестнадцатеричного в десятичные каналы RGB, декодирование разрешений файлов Unix, извлечение полей из упакованного регистра состояния, проверка результата маски битов и проверка выражений сдвига и маскирования перед их фиксацией в коде. Все вычисления выполняются полностью в вашем браузере — никакого сервера, аккаунта и ничего, что вы вводите, не покидает ваше устройство. Ваш размер слова, режим знака и текущее значение сохраняются локально, поэтому калькулятор будет точно таким, как вы его оставили, при следующем использовании.
Как пользоваться
- Выберите размер слова — 8, 16, 32 или 64 бита — и включите «Знак», если хотите десятичное представление в дополнительном коде, деление и сдвиги.
- Выберите входную систему счисления, нажав на строку HEX, DEC, OCT или BIN, затем введите своё число с помощью клавиатуры или физической клавиатуры.
- Примените операцию: нажмите на кнопку битовой операции (AND, OR, XOR, NOT, NAND, NOR, XNOR), сдвиг (Lsh, Rsh), Mod или обычные + − × ÷.
- Введите второй операнд и нажмите =, чтобы вычислить; результат появится одновременно в шестнадцатеричной, десятичной, восьмеричной и двоичной системах.
- Нажмите на любой бит в таблице битов, чтобы изменить его напрямую, или используйте кнопку копирования на любой строке системы счисления, чтобы скопировать это представление в буфер обмена.
Частые вопросы
- Этот программистский калькулятор бесплатный, приватный и работает офлайн?
- Да. Он полностью бесплатен без регистрации или входа в систему, а все вычисления выполняются локально в вашем браузере с использованием 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-битный беззнаковый режим, введите 3A7BD5 в строке HEX, затем вычислите значение Rsh 16 и AND с FF — калькулятор покажет 58 в десятичной системе, что является значением красного канала (зелёный и синий получаются аналогично с другими сдвигами). В качестве другого примера, чтобы проверить, установлен ли бит владельца-выполнение в разрешении Unix 0o755, введите 755 в строке OCT и выполните AND с 100 — результат 100 не равен нулю, значит, бит установлен. Работа с такими случаями одновременно во всех четырёх системах счисления — это именно то, чего не может сделать один только конвертер систем счисления.
- Загружает ли этот инструмент мои данные?
- Нет. Всё выполняется прямо в вашем браузере, поэтому ваши данные никогда не покидают устройство — после загрузки страницы он работает даже офлайн.