Складывайте, вычитайте, умножайте, делите или сдвигайте биты и комбинируйте числа в двоичной, восьмеричной, десятичной и шестнадцатеричной системах с точной математикой BigInt.
Об этом инструменте
Этот калькулятор работает с двумя операндами в любой удобной вам системе — двоичной, восьмеричной, десятичной или шестнадцатеричной — и показывает результат сразу во всех четырёх системах. Всё работает в вашем браузере без сетевых обращений, без библиотек округления и без eval.
Каждый операнд разбирается с помощью JavaScript BigInt (через префиксы 0b, 0o и 0x или обычное десятичное число), поэтому нет ошибок плавающей точки и нет 32/64-битного переполнения — числа могут быть сколь угодно большими. Арифметика (сложение, вычитание, умножение, деление) и побитовые операции (AND, OR, XOR, сдвиг влево, сдвиг вправо) вычисляются на значениях BigInt. Деление — целочисленное и также сообщает остаток (a mod b).
Введите операнд A и его систему, выберите операцию, введите операнд B и его систему — и результат появится мгновенно в десятичной (основной), двоичной, восьмеричной и шестнадцатеричной системах. Деление на ноль и недопустимые цифры для выбранной системы перехватываются и показываются как ошибка ввода.
Часто задаваемые вопросы
Как вычисляются числа?
Оба операнда разбираются в BigInt, и вся математика выполняется с BigInt, поэтому результаты точны для сколь угодно больших целых чисел без округления плавающей точки и без eval.
Что возвращает деление?
Деление — целочисленное: оно возвращает частное a / b, усечённое к нулю, плюс остаток a mod b, показанный отдельной плиткой. Деление на ноль отклоняется как некорректный ввод.
Могу ли я смешивать системы, например AND шестнадцатеричного значения с двоичным?
Да. У операнда A и операнда B есть собственный переключатель системы, поэтому вы можете комбинировать шестнадцатеричное число с двоичным или десятичным; ответ всё равно показывается во всех четырёх системах.
Как обрабатываются отрицательные числа и сдвиги?
Ведущий знак минус принимается для любой системы. Сдвиги влево и вправо используют второй операнд как счётчик сдвига (0 и больше); очень большие или отрицательные счётчики сдвига считаются некорректным вводом.