Калькулятор (Windows)
- 1 year ago
- 0
- 0
Калькулятор (calc.exe) — программа Microsoft Windows , предназначенная для выполнения несложных вычислительных операций: сложения, вычитания, умножения и деления и т. д. В калькуляторе также предусмотрены возможности выполнения более сложных операций для инженерных и статистических вычислений.
Интерфейс программы спроектирован таким образом, чтобы имитировать внешний вид реального калькулятора . Его «кнопки» можно нажимать мышкой. Возможен ввод с дополнительной цифровой клавиатуры. Также можно вставлять математические выражения из буфера обмена и получать результат (например, набрать в Блокноте «2*2=», скопировать и вставить в Калькулятор, на «экране» которого появится ответ «4»).
Калькулятор до версии, включённой в состав Windows 7 , работал в двух режимах: «Обычный» и «Инженерный» (переключение через меню «Вид»). Состояние хранится в файле , секция [SciCalc]. При переключении режимов экран очищается.
В обычном и инженерном режимах отличается порядок выполнения операций:
В дополнение к обычному режиму доступны:
Расчеты в градусах, радианах, градах (переключатель доступен только в режиме десятичной системы счисления)
Переключатель разрядности обрабатываемых данных (8, 4, 2, 1 байт).
Функция логарифм (log) работает только в десятичном (Dec) и в шестнадцатеричном (Hex) режимах. В двоичном режиме (Bin) и в восьмеричном режиме (Oct) функция логарифм (log) не работает.
Поразрядные логические операции и возможность работы с системами счисления, отличными от десятичной начиная с версии Windows 7 и Windows 8 перенесены в новый режим «Программист».
Активизируется по кнопке «Sta» (доступна в инженерном режиме), показывается окно «статистика», доступны кнопки манипуляции данными и базовые статистические функции.
Появился в Windows 7 за счет переноса из инженерного режима следующих функций:
При работе с любой системой счисления в данном режиме под «дисплеем» показывается двоичное представление текущего результата, разделённое на тетрады . Обрабатываемые данные представляются в целочисленном формате (дробная часть результата всегда отбрасывается) размером от 8 до 64 бит в дополнительном коде .
При вставке из буфера следующие последовательности символов воспринимаются как команды:
:c | Очистка памяти |
:e | Включение режима ввода десятичных чисел в экспоненциальной нотации |
:m | Занесение отображаемого числа в память |
:p | Прибавление отображаемого числа к числу, хранящемуся в памяти |
:q | Очистка калькулятора для новых вычислений |
:r | Отображение числа, хранящегося в памяти |
\ | . |
На текущий момент во всех версиях Windows, включая 64-разрядные, калькулятор имеет ограничение при выполнении операции возведения числа в целую степень. Данное ограничение, связанное с переполнением, возникает при возведении в целую степень, если показатель степени нельзя представить 32-разрядным целым числом. В этом случае выдаётся сообщение «Недопустимый ввод». В то же время использование приблизительно такого же, но дробного показателя степени не приводит к ошибке. Пусть, например, нужно вычислить . Непосредственное вычисление выражения приводит к ошибке, однако, например, выражение корректно вычисляется и даёт результат . Из него можно получить:
Указанное выше ограничение при возведении в степень приводит к появлению бага (его уже вряд ли можно назвать ограничением). Он заключается в том, что при взятии противоположной величины от 32-разрядного целого числа происходит переполнение, которое корректно не обрабатывается и приводит к аварийному завершению работы программы. Например, сбой может происходить при вычислении выражения
Правильный результат можно получить, изменив показатель степени, например следующим образом:
или
Ещё ряд ограничений связан с непродуманной реализацией вычислительных алгоритмов, в результате чего для некоторых значений происходит потеря точности, иногда приводящая к существенным ошибкам. Так, стандартная формула вычисления ареа-синуса при больших по модулю отрицательных значениях аргумента приводит к вычитанию близких чисел и, как следствие, потере значащих цифр результата. Вычислим, например, с помощью калькулятора Windows ареа-синус ( ) от числа . Получаем результат , не имеющий ничего общего с правильным ответом . В данном случае правильный ответ можно получить, пользуясь свойством нечётности функции: .
Для гиперболического тангенса ( ) некоторые значения аргумента признаются недействительными, хотя на самом деле функция существует и не вызывает переполнение для любых значений аргумента. А именно, при или выдаётся сообщение «Недопустимый ввод». Данное ограничение является необоснованным, так как значения функции для указанных значений аргумента примерно равны и соответственно.
В Windows 7 реализован значительно обновлённый Калькулятор. В дополнение к Обычному и Инженерному, появились режимы для программистов (Programmer) и статистический (Statistics). В каждом режиме (кроме статистического) ведется история вычислений. Справа от основной панели калькулятора можно открыть панели расчёта разницы между датами, расчёта расхода топлива или платежей по кредиту, конвертации физических величин.
В режиме программиста можно выполнять операции только над целыми числами, а в инженерном режиме нельзя переводить числа из одной системы счисления в другую. Это является существенным недостатком новой версии Калькулятора.
В Windows 8 получил дополнительный Metro -аналог, а в Windows 10 был полноценно заменен на UWP -версию [ что? ] .
29 января 2019 года Microsoft открыла исходный код калькулятора, опубликовав его на GitHub и представив планы его развития .