belun.app Блог
EN

Инженерный калькулятор: три ошибки, из-за которых ответ неверный

Градусы против радиан, ловушка −2², зачем нужны кнопки памяти. Как записывать выражения, чтобы калькулятор понял их правильно.

Инженерный калькулятор на столе рядом с тетрадью с рукописными уравнениями и ручкой

Почти каждое «калькулятор посчитал неправильно» упирается в одну из трёх вещей. И ни в одной из них калькулятор не виноват — этим они и раздражают.

Градусы или радианы: решите до того, как нажмёте sin

Наберите sin(30) в режиме градусов, и получите 0,5. Переключитесь на радианы, и те же нажатия дадут −0,988. Оба ответа правильные. Нужен вам только один.

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

В инженерном калькуляторе кнопки DEG и RAD стоят прямо над клавиатурой, а ответ пересчитывается сразу после переключения. Проверить оба варианта — секунда.

−2² равно −4, и это не ошибка

Степень связывает сильнее, чем стоящий впереди минус, поэтому -2^2 читается как -(2^2) и даёт −4. Если нужна четвёрка, придётся написать (-2)^2. Так принято в математике, и так считает любой калькулятор, который я пробовал.

Знаменитое исключение — Excel. Введите в ячейку =-2^2 и получите 4: там унарный минус приоритетнее возведения в степень. Microsoft описала это в документации и менять не собирается, слишком много таблиц завязано на старое поведение.

Ещё два факта про приоритеты, которые стоит запомнить:

  • Степень правоассоциативна. 2^3^2 — это 2^(3^2) = 512, а не (2^3)^2 = 64.
  • Неявное умножение по рангу равно ×. Поэтому 6/2(1+3) даёт 12, а не 1.

Последний пункт по-настоящему спорный. TI-82 считал неявное умножение приоритетнее деления; в TI-83 это поведение убрали, а старые учебники до сих пор противоречат друг другу. Никакого тайного правильного ответа тут нет. Есть скучное решение: поставьте скобки, и двусмысленность исчезнет.

Кнопки памяти, про которые никто не объясняет

MS записывает текущий результат. MR вставляет его обратно в выражение. M+ прибавляет результат к тому, что уже лежит в памяти, M− вычитает.

Обычный сценарий — накопительная сумма из отдельных вычислений. Считаете три позиции с разными ставками налога: посчитали первую, нажали M+, посчитали вторую, снова M+. Память держит сумму, а дисплей остаётся свободным под следующую строку. Не нужно записывать промежуточные числа на обороте чека, а потом разбирать собственный почерк.

Почему 0.1 + 0.2 не показывает 0.30000000000000004

Компьютер хранит дроби в двоичном виде, и у 0,1 там нет точного представления — это периодическая дробь, ровно как 1/3 в десятичной записи. Сложите с 0,2, и крошечные погрешности округления вылезут в семнадцатом знаке.

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

Что вообще можно набрать

Поле ввода — обычный текст, так что клавиатура и экранные кнопки работают вместе. Понимаются sin, cos, tan и обратные к ним, sinh/cosh/tanh, ln, log (по основанию 10), log2, sqrt, cbrt, abs, exp, round, floor, ceil, факториал через !, остаток через mod, а также константы pi, e, tau, phi. Неявное умножение тоже работает: 2pi и 3(4+5) — корректные выражения. Enter записывает результат в историю, Escape очищает строку, а щелчок по строке истории возвращает её в поле для правки.

Всё считается в браузере. Ничего из набранного не уходит наружу, и после загрузки страница работает без интернета. Откройте инженерный калькулятор и наберите 2^3^2 — если вы ждали 64, теперь понятно, почему его не будет.

Попробуйте инструмент

Инженерный калькулятор →