WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
компонент Windows
Калькулятор

Скриншот Обычного режима Калькулятора в Windows 10
Тип компонента Калькулятор
Включён в Начиная с Windows 95

Калькулятор (calc.exe) — компонент Microsoft Windows, имитирующий работу обычного карманного калькулятора. Его «кнопки» можно нажимать мышкой. Возможен ввод с дополнительной цифровой клавиатуры. Также можно вставлять математические выражения из буфера обмена и получать результат (например, набрать в Блокноте «2*2=», скопировать и вставить в Калькулятор, на «экране» которого появится ответ «4»).

Режимы работы

Калькулятор до версии, включённой в состав Windows 7, работал в двух режимах: «Обычный» и «Инженерный» (переключение через меню «Вид»). Состояние хранится в файле win.ini, секция [SciCalc]. При переключении режимов экран очищается.

В обычном и инженерном режимах отличается порядок выполнения операций:

  • в обычном режиме нажатие 1+1*2= даст ответ 4
  • в инженерном режиме 1+1*2= даёт в результате 3

Обычный режим

  • В обычном режиме представлены функции квадратного корня, процентов, обратной величины (также и в расширенном режиме).
  • Доступны манипуляции с памятью (одна ячейка). Есть индикатор.

Инженерный режим

В дополнение к обычному режиму доступны:

  • тригонометрические и гиперболические (флажок «Hyp») функции, обратные им функции, которые доступны через флажок «Inv» (сбрасывается автоматически), натуральный и десятичный логарифмы, натуральная (тоже доступна через «Inv») и десятичная экспоненты, возведение в степень и извлечение корня (отдельно реализованы вторая, третья и произвольная степени), а также число .
  • перевод долей градуса в минуты и секунды (обратно через флажок «Inv»), вычисление факториала, а для нецелого аргумента — пи-функции, которая является обобщением факториала и определяется через гамма-функцию как .
  • группировка операций (кнопки со скобками, есть индикатор уровня вложенности), переключение режимов отображения (фиксированная/плавающая точка).
  • вычисление остатка от деления
  • побитовые операции: AND, OR, NOT, XOR. Перед вычислением дробная часть отбрасывается.
  • сдвиг влево (сдвиг вправо через флажок «Inv»)

Тригонометрия

Расчеты в градусах, радианах, градах (переключатель доступен только в режиме десятичной системы счисления)

Недесятичные системы счисления

Переключатель разрядности обрабатываемых данных (8, 4, 2, 1 байт).

Функция логарифм (log) работает только в десятичном (Dec) и в шестнадцатеричном (Hex) режимах. В двоичном режиме (Bin) и в восьмеричном режиме (Oct) функция логарифм (log) не работает.

Поразрядные логические операции и возможность работы с системами счисления, отличными от десятичной начиная с версии Windows 7 и Windows 8 перенесены в новый режим «Программист».

Статистический режим

Активизируется по кнопке «Sta» (доступна в инженерном режиме), показывается окно «статистика», доступны кнопки манипуляции данными и базовые статистические функции.

Режим «Программист»

Появился в Windows 7 за счет переноса из инженерного режима следующих функций:

  • логические операции: NOT, AND, OR, XOR;
  • логические Rsh, Lsh и циклические RoR, RoL (последних ранее не было) сдвиги вправо и влево
  Rsh - сдвиг битов двоичного числа вправо,  n раз, старший бит (знаковый, 0 - число положительное, 1 - отрицательное): например в однобайтных числах - b7 , сохраняет знак, а младший b0 просто выталкивается;
  Lsh - сдвигает биты двоичного числа влево n раз, каждый раз заполняя младший бит b0 нулём 0, а старший выталкивается (знак числа при этом не сохраняется);
  RoR - циклический сдвиг вправо, сдвигает все биты двоичного числа на один разряд, каждый раз выталкиваемый младший бит, на примере однобайтного числа: из b0 переносится в b7;
  • возможность обработки данных в двоичной, восьмеричной и шестнадцатеричной системах счисления.

При работе с любой системой счисления в данном режиме под «дисплеем» показывается двоичное представление текущего результата, разделённое на тетрады. Обрабатываемые данные представляются в целочисленном формате (дробная часть результата всегда отбрасывается) размером от 8 до 64 бит в дополнительном коде.

Дополнительные возможности

При вставке из буфера следующие последовательности символов воспринимаются как команды:[1]

:c Очистка памяти.
:e Включение режима ввода десятичных чисел в экспоненциальной нотации.
:m Занесение отображаемого числа в память.
:p Прибавление отображаемого числа к числу, хранящемуся в памяти.
:q Очистка калькулятора для новых вычислений.
:r Отображение числа, хранящегося в памяти.
\ Эквивалентно кнопке «Dat». Перед использованием этой клавиши необходимо нажать кнопку «Sta».

Ограничения и ошибки в работе

На текущий момент во всех версиях Windows, включая 64-разрядные, калькулятор имеет ограничение при выполнении операции возведения числа в целую степень. Данное ограничение, связанное с переполнением, возникает при возведении в целую степень, если показатель степени нельзя представить 32-разрядным целым числом. В этом случае выдаётся сообщение "Недопустимый ввод". В то же время использование приблизительно такого же, но дробного показателя степени не приводит к ошибке. Пусть, например, нужно вычислить . Непосредственное вычисление выражения приводит к ошибке, однако, например, выражение корректно вычисляется и даёт результат . Из него можно получить:

Указанное выше ограничение при возведении в степень приводит к появлению бага (его уже вряд ли можно назвать ограничением). Он заключается в том, что при взятии противоположной величины от 32-разрядного целого числа происходит переполнение, которое корректно не обрабатывается и приводит к аварийному завершению работы программы. Например, сбой может происходить при вычислении выражения

.

Правильный результат можно получить, изменив показатель степени, например следующим образом:

или

.

Ещё ряд ограничений связан с непродуманной реализацией вычислительных алгоритмов, в результате чего для некоторых значений происходит потеря точности, иногда приводящая к существенным ошибкам. Так, стандартная формула вычисления ареа-синуса при больших по модулю отрицательных значениях аргумента приводит к вычитанию близких чисел и, как следствие, потере значащих цифр результата. Вычислим, например, с помощью калькулятора Windows ареа-синус ( ) от числа . Получаем результат , не имеющий ничего общего с правильным ответом . В данном случае правильный ответ можно получить, пользуясь свойством нечётности функции: .

Для гиперболического тангенса ( ) некоторые значения аргумента признаются недействительными, хотя на самом деле функция существует и не вызывает переполнение для любых значений аргумента. А именно, при или выдаётся сообщение «Недопустимый ввод». Данное ограничение является необоснованным, так как значения функции для указанных значений аргумента примерно равны и соответственно.

Развитие

В Windows 7 реализован значительно обновлённый Калькулятор. В дополнение к Обычному и Инженерному, появились режимы для программистов (Programmer) и статистический (Statistics). В каждом режиме (кроме статистического) ведется история вычислений. Справа от основной панели калькулятора можно открыть панели расчёта разницы между датами, расчёта расхода топлива или платежей по кредиту, конвертации физических величин.

В режиме программиста можно выполнять операции только над целыми числами, а в инженерном режиме нельзя переводить числа из одной системы счисления в другую. Это является существенным недостатком новой версии Калькулятора. В Windows 10 заменен на Modern-версию

Примечания

  1. calc.chm Последовательности клавиш для вызова функций

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии