Калькулятор арифметики в разных системах счисления (шестнадцатеричная, двоичная, восьмеричная)

РазработчикМатематика
Реклама · УДАЛИТЬ?
Предваряйте 0b (двоичный), 0o (восьмеричный), 0x (шестнадцатеричный). Отсутствие префикса означает десятичное.
Предваряйте 0b (двоичный), 0o (восьмеричный), 0x (шестнадцатеричный). Отсутствие префикса означает десятичное.
Ширина бита используется для обнаружения переполнения. Неограниченная использует произвольную точность BigInt.
Реклама · УДАЛИТЬ?

Гид

Калькулятор многобазовой арифметики (шестнадцатеричная / двоичная / восьмеричная)

Калькулятор арифметики в разных системах счисления (шестнадцатеричная, двоичная, восьмеричная)

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

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

  1. Введите первое число. Предваряйте его 0b для двоичного, 0o для восьмеричного, 0x для шестнадцатеричного или оставьте без префикса для десятичного.
  2. Выберите операцию: сложение, вычитание, умножение, деление или остаток.
  3. Введите второе число, используя те же правила префикса.
  4. Опционально измените ширину бита с Неограниченная (BigInt) на фиксированную ширину для проверки переполнения.
  5. Результат показывается одновременно в двоичной, восьмеричной, десятичной и шестнадцатеричной системах с выведением шагов вычислений ниже.

Возможности

  • Многобазовый ввод — объединяйте шестнадцатеричное значение с двоичным в одном выражении; парсер использует префикс каждого числа для определения его основания.
  • Живые результаты в четырёх основаниях — каждый ответ отображается как 0b…, 0o…, десятичное и 0x…, поэтому вам не нужно копировать результат в отдельный конвертер.
  • Визуализация переноса и заимствования — для операндов до 16 бит калькулятор выводит столбцы битов, строку переноса при сложении и строку заимствования при вычитании.
  • Метод сдвига и сложения при умножении — каждый бит «1» в множителе генерирует сдвинутую копию умножаемого числа, которые суммируются для получения произведения, точно так же, как это работает в аппаратных умножителях.
  • Длинное деление в двоичной системе — таблица шагов с текущим остатком и битами частного, с конечным частным и остатком в двоичной и десятичной системах.
  • Обнаружение переполнения — при выборе 8, 16, 32 или 64-битных значений отображается, входит ли результат в диапазон знаковых и неотрицательных значений, и показывается значение двух-дополнения при переполнении.
  • Произвольная точность — используя JavaScript BigInt, калькулятор обрабатывает шестнадцатеричные значения, которые превышают стандартный предел 53-битной двойной точности, без округления.

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

  1. Почему существуют двоичная, восьмеричная и шестнадцатеричная системы вместе с десятичной?

    Каждая система соответствует определённому уровню вычислений. Двоичная система отражает два состояния напряжения транзистора. Восьмеричная система группирует по три бита и широко использовалась на ранних главных компьютерах, таких как PDP-8. Шестнадцатеричная система группирует по четыре бита, что соответствует двум полубайтам в байте, поэтому шестнадцатеричная система является стандартным способом для записи адресов памяти, цветовых кодов и значений регистров. Десятичная система сохраняется из-за повседневного использования чисел, потому что у людей десять пальцев, а не потому что компьютеры предпочитают её.

  2. Что такое перенос в двоичной системе сложения?

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

  3. Как двоичное дополнение представляет отрицательные числа?

    Двоичное дополнение кодирует отрицательное значение путём инвертирования всех битов положительного значения и добавления 1. В поле из N битов самый значимый бит выступает в роли знакового бита, диапазон становится от -2^(N-1) до 2^(N-1)-1, и сложение или вычитание работает без отдельных логических операций для знаковых и неотрицательных операндов. Тот же битовый паттерн может быть прочитан как большое неотрицательное число или как отрицательное знаковое число, в зависимости от того, как программа интерпретирует поле.

  4. Что такое переполнение целых чисел?

    Переполнение происходит, когда результат арифметической операции превышает максимальное значение, которое может удержать фиксированная ширина целого числа, или становится меньше минимального. У 8-битного неотрицательного целого числа переполнение происходит от 255 до 0; у 8-битного знакового целого числа переполнение происходит от 127 до -128. В низкоуровневом коде это может привести к тонким ошибкам, потому что процессор безошибочно усекает высокие биты вместо того чтобы вызывать ошибку, поэтому поведение переполнения нужно анализировать явно.

  5. Почему шестнадцатеричная система предпочтительнее двоичной при чтении памяти?

    Двоичная система неудобна для человека, потому что даже небольшие значения быстро превращаются в длинные строки из 1 и 0. Шестнадцатеричная система сжимает каждые четыре двоичных бита в один символ, поэтому 32-битный регистр, который занимает 32 двоичных цифры для записи, требует всего 8 шестнадцатеричных цифр. Отображение является точным и без потерь, поэтому отладчики, ассемблеры и спецификации протоколов почти всегда показывают значения байтов в шестнадцатеричной системе.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?