- Калькулятор Windows — Windows Calculator
- СОДЕРЖАНИЕ
- История
- Windows 9x
- Windows 2000, XP и Vista
- Windows 7
- Windows 8.1
- Windows 10
- Функции
- Проблемы
- Калькулятор Плюс
- Калькулятор (Windows)
- Содержание
- Режимы работы
- Обычный режим
- Инженерный режим
- Тригонометрия
- Недесятичные системы счисления
- Статистический режим
- Режим «Программист»
- Дополнительные возможности
- Ограничения и ошибки в работе
- Развитие
Калькулятор Windows — Windows Calculator
Марк Клиггетт,
Марк Тейлор,
Крейг Брокшмидт
Калькулятор Windows — это программный калькулятор, разработанный Microsoft и включенный в Windows . Он имеет четыре режима: стандартный, научный, программный и графический. Стандартный режим включает цифровую клавиатуру и кнопки для выполнения арифметических операций. Научный режим делает еще один шаг вперед и добавляет экспоненты и тригонометрическую функцию, а режим программиста позволяет пользователю выполнять операции, связанные с компьютерным программированием . Недавно в калькулятор был добавлен режим построения графиков, позволяющий пользователям отображать уравнения на координатной плоскости.
Калькулятор Windows — одно из немногих приложений, которые включены во все версии Windows, начиная с Windows 1.0 . С тех пор калькулятор был дополнен различными возможностями.
Кроме того, калькулятор также включен в Windows Phone и Xbox One .
СОДЕРЖАНИЕ
История
Простой арифметический калькулятор впервые был включен в Windows 1.0 .
В Windows 3.0 , был добавлен научный режим, который включал показатели и корни , логарифмы , факторную основанную функцию, тригонометрию (поддерживает радиан , степень и gradians углов), базовые преобразования (2, 8, 10, 16), логические операций, статистические такие функции, как статистика одной переменной и линейная регрессия.
Windows 9x
До Windows 95 он использовал числа с плавающей запятой двойной точности IEEE 754-1985 , а наибольшее число, представимое калькулятором, было 2 1024 , что немного больше 10 308 (
В Windows 98 и более поздних версиях используется арифметическая библиотека произвольной точности , заменяющая стандартную библиотеку с плавающей запятой IEEE . Он предлагает большую точность для основных операций (сложение, вычитание, умножение, деление) и 32-значную точность для расширенных операций ( квадратный корень , трансцендентные функции ). Наибольшее значение, которое может быть представлено в калькуляторе Windows, в настоящее время составляет 000, а наименьшее — 10 -9 999 . (Также ! Вычисляет гамма-функцию, которая определена для всех действительных чисел, исключая только отрицательные целые числа).
Windows 2000, XP и Vista
В Windows 2000 , цифра группировка добавляется. В строку меню добавлены настройки степени и базы.
Калькуляторы Windows XP и Vista могли выполнять вычисления с использованием чисел, превышающих 10 10000 , но вычисления с этими числами (например, 10 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 . ) все больше замедляют работу калькулятора и сделать его не отвечающим, пока расчет не будет завершен.
Это последние версии Windows Calculator, в которых вычисления с двоичными / десятичными / шестнадцатеричными / восьмеричными числами включены в научный режим. В Windows 7 они были переведены в режим программиста , который представляет собой новый отдельный режим, сосуществующий с научным режимом .
Windows 7
В Windows 7 были добавлены режимы отдельного программатора, статистики, преобразования единиц измерения, расчета даты и рабочих листов. Всплывающие подсказки были удалены. Кроме того, интерфейс Калькулятора был переработан впервые с момента его появления. Базовые функции преобразования переведены в режим программиста, а статистические функции переведены в режим статистики. Переключение между режимами не сохраняет текущий номер, сбрасывая его на 0.
Максимальное число снова ограничено 10 10000 .
В каждом режиме, кроме режима программиста, можно увидеть историю расчетов. Приложение было переработано для поддержки мультитач . Стандартный режим ведет себя как простой калькулятор чековой книжки; ввод последовательности 6 * 4 + 12 / 4 — 4 * 5 дает ответ 25. В научном режиме порядок операций соблюдается при выполнении вычислений (умножение и деление выполняются перед сложением и вычитанием), что означает 6 * 4 + 12 / 4 — 4 * 5 = 7 .
В режиме программиста ввод числа в десятичном формате имеет нижний и верхний предел, в зависимости от типа данных, и всегда должен быть целым числом. Тип данных числа в десятичном режиме — n-битовое целое число со знаком при преобразовании числа в шестнадцатеричный, восьмеричный или двоичный режим.
Тип данных | Размер типа данных (бит) | Нижний предел | Верхний предел |
---|---|---|---|
Байт | 8 | -128 | 127 |
Слово | 16 | -32 768 | 32 767 |
Dword | 32 | -2 147 483 648 | 2 147 483 647 |
Qword | 64 | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 |
Справа от основного калькулятора можно добавить панель с расчетом даты, преобразованием единиц измерения и рабочими листами. Рабочие листы позволяют вычислить результат выбранного поля на основе значений других полей. Предварительно определенные шаблоны включают расчет экономии топлива автомобиля (миль на галлон и л / 100 км), аренду транспортного средства и ипотеку. В предварительных бета-версиях Windows 7 калькулятор также предоставлял шаблон заработной платы.
Windows 8.1
Хотя традиционный калькулятор по-прежнему включен в Windows 8.1 , также присутствует калькулятор в стиле Metro с полноэкранным интерфейсом, а также в обычном, научном и преобразовательном режимах.
Windows 10
Калькулятор в не-НТСП- изданиях в Windows 10 является приложением универсальных платформ Windows . Напротив, Windows 10 LTSC (которая не включает универсальные приложения для Windows) включает традиционный калькулятор, но теперь он назван win32calc.exe . Оба калькулятора предоставляют функции традиционного калькулятора, включенного в Windows 7, такие как преобразование единиц объема, длины, веса, температуры, энергии, площади, скорости, времени, мощности, данных, давления и угла, а также список истории, который пользователь может очистить.
И универсальное приложение для Windows, и LTSC win32calc.exe регистрируются в системе как обработчики calculator: псевдопротокола. Эта регистрация аналогична регистрации, выполняемой любым другим хорошо работающим приложением, когда оно регистрируется как обработчик для типа файла (например .jpg ) или протокола (например http: ).
Все выпуски Windows 10 (как LTSC, так и не-LTSC) по-прежнему имеют файл calc.exe , который, однако, представляет собой просто заглушку, запускающую (через ShellExecute) обработчик, связанный с calculator: псевдопротоколом. Как и в случае с любым другим протоколом или типом файла, когда есть несколько обработчиков на выбор, пользователи могут выбирать, какой обработчик они предпочитают — либо через классическую панель управления (настройки «Программы по умолчанию»), либо через настройки иммерсивного пользовательского интерфейса («Приложения по умолчанию» settings) или из командной строки через OpenWith calculator: .
В Windows 10 Fall Creators Update в Калькулятор был добавлен режим конвертера валют.
6 марта 2019 года Microsoft опубликовала исходный код калькулятора на GitHub под лицензией MIT .
Функции
По умолчанию калькулятор работает в стандартном режиме, который напоминает калькулятор с четырьмя функциями. В научном режиме доступны более продвинутые функции, включая логарифмы , преобразование числовой базы , некоторые логические операторы , приоритет операторов , поддержку радиан , градусов и градиентов, а также простые статистические функции с одной переменной . Он не обеспечивает поддержку функций , определяемых пользователем, комплексных чисел , переменных для хранения промежуточных результатов (кроме классического аккумуляторе памяти карманных калькуляторов), автоматизированных полярная — декартовы координаты преобразования, или поддержка статистики двух переменных.
Калькулятор поддерживает быстрые клавиши ; со всеми функциями калькулятора связаны сочетания клавиш.
Калькулятор в режиме программист не может принимать или отображать несколько больше , чем в подписанном QWORD (16 шестнадцатеричных цифр / 64 бита). Таким образом, наибольшее число, которое он может обработать, — 0x7FFFFFFFFFFFFFFF (десятичное 9,223,372,036,854,775,807). Любые вычисления в режиме программиста, которые превышают этот предел, будут переполняться , даже если эти вычисления будут успешными в других режимах. В частности, в этом режиме недоступны научные обозначения .
Проблемы
- Для некоторых трансцендентных функций , таких как оператор квадратного корня (sqrt (4) — 2 = -8.1648465955514287168521180122928e-39), приводящий к неправильному вычислению числа из-за катастрофической отмены .
- Старые версии универсального калькулятора в не-НТСП- изданиях в Windows 10 не используют региональный формат (может быть установлена в области панели управления) , которые отличаются от языка дисплейного приложения для форматирования чисел (языком приложение является английским (США ), но для регионального формата Windows задан другой формат).
Калькулятор Плюс
Калькулятор Плюс — это отдельное приложение для пользователей Windows XP и Windows Server 2003, которое добавляет режим «Преобразование» по сравнению с версией Калькулятора для Windows XP. Режим поддерживает «Преобразование» блок преобразования и конвертации валюты . Курсы обмена валют можно обновить с помощью встроенной функции обновления, которая загружает курсы обмена из Европейского центрального банка .
Калькулятор (Windows)
компонент 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») и десятичная экспоненты, возведение в степень и извлечение корня (отдельно реализованы вторая, третья и произвольная степени), а также число π <\displaystyle \pi >
.
- перевод долей градуса в минуты и секунды (обратно через флажок «Inv»), вычисление факториала, а для нецелого аргумента — пи-функции, которая является обобщением факториала и определяется через гамма-функцию как Π ( x ) = Γ ( x + 1 ) <\displaystyle \Pi (x)=\Gamma (x+1)>
.
- группировка операций (кнопки со скобками, есть индикатор уровня вложенности), переключение режимов отображения (фиксированная/плавающая точка).
- вычисление остатка от деления
- побитовые операции: 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
- логические и циклические (последних ранее не было) сдвиги вправо и влево
- возможность обработки данных в двоичной, восьмеричной и шестнадцатеричной системах счисления.
При работе с любой системой счисления в данном режиме под «дисплеем» показывается двоичное представление текущего результата, разделённое на тетрады. Обрабатываемые данные представляются в целочисленном формате (дробная часть результата всегда отбрасывается) размером от 8 до 64 бит в дополнительном коде.
Дополнительные возможности
При вставке из буфера следующие последовательности символов воспринимаются как команды: [1]
:c | Очистка памяти. |
:e | Включение режима ввода десятичных чисел в экспоненциальной нотации. |
:m | Занесение отображаемого числа в память. |
:p | Прибавление отображаемого числа к числу, хранящемуся в памяти. |
:q | Очистка калькулятора для новых вычислений. |
:r | Отображение числа, хранящегося в памяти. |
\ | Эквивалентно кнопке «Dat». Перед использованием этой клавиши необходимо нажать кнопку «Sta». |
Ограничения и ошибки в работе
На текущий момент во всех версиях Windows, включая 64-разрядные, калькулятор имеет ограничение при выполнении операции возведения числа в целую степень. Данное ограничение, связанное с переполнением, возникает при возведении в целую степень, если показатель степени нельзя представить 32-разрядным целым числом. В этом случае выдаётся сообщение «Недопустимый ввод». В то же время использование приблизительно такого же, но дробного показателя степени не приводит к ошибке. Пусть, например, нужно вычислить 0.999999999 − 3000000000 <\displaystyle 0.999999999^<-3000000000>> . Непосредственное вычисление выражения приводит к ошибке, однако, например, выражение 0.999999999 − 3000000000.5 <\displaystyle 0.999999999^<-3000000000.5>>
корректно вычисляется и даёт результат 20.085536963358741652581860232205 <\displaystyle 20.085536963358741652581860232205>
. Из него можно получить:
0.999999999 − 3000000000 = 0.999999999 − 3000000000.5 ⋅ 0.999999999 = 20.085536953315973168391797284239 <\displaystyle 0.999999999^<-3000000000>=0.999999999^<-3000000000.5>\cdot <\sqrt <0.999999999>>=20.085536953315973168391797284239>
Указанное выше ограничение при возведении в степень приводит к появлению бага (его уже вряд ли можно назвать ограничением). Он заключается в том, что при взятии противоположной величины от 32-разрядного целого числа − 2 31 = − 2147483648 <\displaystyle -2^<31>=-2147483648> происходит переполнение, которое корректно не обрабатывается и приводит к аварийному завершению работы программы. Например, сбой может происходить при вычислении выражения
0.999999999 − 2147483648 <\displaystyle 0.999999999^<-2147483648>> .
Правильный результат 8.5632830377708104878252734036038 <\displaystyle 8.5632830377708104878252734036038> можно получить, изменив показатель степени, например следующим образом:
0.999999999 − 2147483648 = ( 0.999999999 2 ) − 1073741824 <\displaystyle 0.999999999^<-2147483648>=(0.999999999^<2>)^<-1073741824>>
0.999999999 − 2147483648 = 0.999999999 − 2147483647 / 0.999999999 <\displaystyle 0.999999999^<-2147483648>=0.999999999^<-2147483647>/0.999999999> .
Ещё ряд ограничений связан с непродуманной реализацией вычислительных алгоритмов, в результате чего для некоторых значений происходит потеря точности, иногда приводящая к существенным ошибкам. Так, стандартная формула вычисления ареа-синуса при больших по модулю отрицательных значениях аргумента приводит к вычитанию близких чисел и, как следствие, потере значащих цифр результата. Вычислим, например, с помощью калькулятора Windows ареа-синус ( sinh − 1 <\displaystyle \operatorname ) от числа − 3 , 5 e + 100 <\displaystyle -3,5e+100>
. Получаем результат 149 , 01606898593917039273345339555 <\displaystyle 149,01606898593917039273345339555>
, не имеющий ничего общего с правильным ответом − 232 , 20441944845988170690449821188 <\displaystyle -232,20441944845988170690449821188>
. В данном случае правильный ответ можно получить, пользуясь свойством нечётности функции: arsh x = − arsh ( − x ) <\displaystyle \operatorname
.
Для гиперболического тангенса ( tanh <\displaystyle \operatorname ) некоторые значения аргумента признаются недействительными, хотя на самом деле функция существует и не вызывает переполнение для любых значений аргумента. А именно, при 10000>»> x > 10000 <\displaystyle x>10000>
10000>»/> или x − 1000 <\displaystyle x
выдаётся сообщение «Недопустимый ввод». Данное ограничение является необоснованным, так как значения функции для указанных значений аргумента примерно равны 1 <\displaystyle 1>
и − 1 <\displaystyle -1>
соответственно.
Развитие
В Windows 7 реализован значительно обновлённый Калькулятор. В дополнение к Обычному и Инженерному, появились режимы для программистов (Programmer) и статистический (Statistics). В каждом режиме (кроме статистического) ведется история вычислений. Справа от основной панели калькулятора можно открыть панели расчёта разницы между датами, расчёта расхода топлива или платежей по кредиту, конвертации физических величин.
В режиме программиста можно выполнять операции только над целыми числами, а в инженерном режиме нельзя переводить числа из одной системы счисления в другую. Это является существенным недостатком новой версии Калькулятора. В Windows 10 заменен на Modern-версию