На чем написан калькулятор windows
Содержание
Режимы работы
Калькулятор до версии, включённой в состав Windows 7, работал в двух режимах: «Обычный» и «Инженерный» (переключение через меню «Вид»). Состояние хранится в файле win.ini, секция [SciCalc]. При переключении режимов экран очищается.
В обычном и инженерном режимах отличается порядок выполнения операций:
- в обычном режиме нажатие 1+1*2= даст ответ 4
- в инженерном режиме 1+1*2= дает в результате 3
Обычный режим
- В обычном режиме представлены функции квадратного корня, процентов, обратного значения (также и в расширенном режиме).
- Доступны манипуляции с памятью (одна ячейка). Есть индикатор.
Инженерный режим
В дополнение к обычному режиму доступны:
-
и гиперболические (флажок «Hyp») функции, натуральный и десятичный логарифмы, возведение в степень (для квадратов и кубов выделены отдельные кнопки). Обратные функции (извлечение корня для возведения в степень) доступны через флажок «Inv» (сбрасывается автоматически).
- перевод долей градуса в минуты и секунды (обратно через флажок «Inv»), вычисление факториалов
- группировка операций (кнопки со скобками, есть индикатор уровня вложенности), переключение режимов отображения (фиксированная/плавающая точка).
- вычисление остатка от деления
- побитовые операции: AND, OR, NOT, XOR. Перед вычислением дробная часть отбрасывается.
- сдвиг влево (сдвиг вправо через флажок «Inv»)
Тригонометрия
Расчеты в градусах, радианах, градах (переключатель доступен только в режиме десятичной системы счисления)
Недесятичные системы счисления
Переключатель разрядности обрабатываемых данных (8, 4, 2, 1 байт).
Функция логарифм (log) работает только в десятичном (Dec) и в шестнадцатиричном (Hex) режимах. В двоичном режиме (Bin) и в восьмеричном режиме (Oct) функция логарифм (log) не работает.
Поразрядные логические операции и возможность работы с системами счисления, отличными от десятичной, начиная с версии Windows 7 и Windows 8 перенесены в новый режим «Программист».
Статистический режим
[[Файл:|thumb]] Активизируется по кнопке «Sta» (доступна в инженерном режиме), показывается окно «статистика», доступны кнопки манипуляции данными и базовые статистические функции.
Режим «Программист»
Появился в Windows 7 за счет переноса из инженерного режима следующих функций:
- логические операции: NOT, AND, OR, XOR
- логические и циклические (последних ранее не было) сдвиги вправо и влево
- возможность обработки данных в двоичной, восьмеричной и шестнадцатеричной системах счисления.
При работе с любой системой счисления в данном режиме под «дисплеем» показывается двоичное представление текущего результата, разделённое на тетрады. Обрабатываемые данные представляются в целочисленном формате (дробная часть результата всегда отбрасывается) размером от 8 до 64 бит в дополнительном коде.
Дополнительные возможности
При вставке из буфера следующие последовательности символов воспринимаются как команды: [1]
:c | Очистка памяти. |
:e | Включение режима ввода десятичных чисел в экспоненциальной нотации. |
:m | Занесение отображаемого числа в память. |
:p | Прибавление отображаемого числа к числу, хранящемуся в памяти. |
:q | Очистка калькулятора для новых вычислений. |
:r | Отображение числа, хранящегося в памяти. |
\ | Эквивалентно кнопке «Dat». Перед использованием этой клавиши необходимо нажать кнопку «Sta». |
Замена Калькулятору
Развитие
В Windows 7 реализован сильно обновлённый Калькулятор. В дополнение к Обычному и Инженерному, появились режимы для программистов (Programmer) и статистический (Statistics). В каждом режиме (кроме статистического) ведется история вычислений. Справа от основной панели калькулятора можно открыть панели расчёта разницы между датами, расчёта расхода топлива или платежей по кредиту, конвертации физических величин.
Также в Windows 7 калькулятор перестал адекватно обрабатывать вставляемую строку :q (очистка экрана с сохранением памяти.) Вместо этого он чистит память, аналогично :c.
Windows Calculator - это программный калькулятор, разработанный 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, в настоящее время составляет <10 10 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 10 (как LTSC, так и не-LTSC) по-прежнему имеют файл calc.exe , который, однако, представляет собой просто заглушку, запускающую (через ShellExecute) обработчик, связанный с calculator: псевдопротоколом. Как и в случае с любым другим протоколом или типом файла, когда есть несколько обработчиков на выбор, пользователи могут выбирать, какой обработчик они предпочитают - либо через классическую панель управления (настройки «Программы по умолчанию»), либо через настройки иммерсивного пользовательского интерфейса («Приложения по умолчанию» settings) или из командной строки через OpenWith calculator: .
В Windows 10 Fall Creators Update в Калькулятор был добавлен режим конвертера валют.
6 марта 2019 года Microsoft опубликовала исходный код калькулятора на GitHub под лицензией MIT .
Функции
По умолчанию калькулятор работает в стандартном режиме, который напоминает калькулятор с четырьмя функциями. Более продвинутые функции доступны в научном режиме, в том числе логарифмов , численными базовых преобразований, некоторых логических операторов , приоритет операторов , радиан , степень и gradians поддержки, а также простые одной переменной статистические функции. Он не обеспечивает поддержку функций , определяемых пользователем, комплексных чисел , переменных для хранения промежуточных результатов (кроме классического аккумуляторе памяти карманных калькуляторов), автоматизированных полярная - декартовы координаты преобразования, или поддержка статистики двух переменных.
Калькулятор поддерживает быстрые клавиши ; со всеми функциями калькулятора связаны сочетания клавиш.
Калькулятор в режиме программист не может принимать или отображать несколько больше , чем в подписанном 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 Vista
Калькулятор Windows 7
Дополнительный калькулятор Metro-стиля Windows 8.1 в стандартном режиме
Простой арифметический калькулятор был впервые включен в Windows 1.0.
В Windows 3.0 был добавлен научный режим, включающий экспоненты и корни, логарифмы, факториальные функции, тригонометрию (поддерживает радиан, градус и градиенты), базовые преобразования (2, 8, 10, 16), логические операции, статистические такие функции, как статистика одиночных переменных и линейная регрессия.
В Windows 98 и более поздних версиях он использует арифметическую библиотеку произвольной точности, заменяя стандартную библиотеку с плавающей запятой IEEE. Он предлагает точность bignum для основных операций (сложение, вычитание, умножение, деление) и 32 цифры точности (128 бит внутренней точности, 38,5 цифр, которые могут быть проверены путем вычисления квадратного корня на выводе и более точного продукта или делая один и тот же расчет двумя разными способами) для расширенных операций (квадратный корень, трансцендентные функции). Самое большое значение, которое может быть представлено в Калькуляторе Windows, в настоящее время составляет <1010 000, а самое маленькое - 10-9999. (Также вычисляет функцию Гамма не только факториал, поэтому можно получить 4.7!).
В Windows 2000 добавлена группировка цифр. Настройки и базовые настройки добавляются в строку меню.
Windows 7 [ ]
В Windows 7 были добавлены отдельный программист, статистика, преобразование единиц, расчет даты и рабочие листы. Подсказки были удалены. Кроме того, интерфейс Калькулятора был обновлен впервые с момента его введения. Базовые функции преобразования были перенесены в режим программиста, а функции статистики были перенесены в режим статистики. Переключение между режимами не сохраняет текущий номер, очищая его до 0.
В каждом режиме, кроме режима программиста, можно увидеть историю вычислений. Приложение было перепроектировано для размещения мультитач. Стандартный режим ведет себя как простой калькулятор чековой книжки; ввод в последовательность 6*4+12/4-4*5 дает ответ 25. В научном режиме при выполнении расчетов выполняется порядок операций (умножение и деление выполняются до сложения и вычитания), что означает 6*4+12/4-4*5=7
В режиме программиста ввод числа в десятичном формате имеет нижний и верхний предел, в зависимости от типа данных, и всегда должен быть целым числом. Тип данных в десятичном режиме заключен в n-разрядное целое число при преобразовании из числа в шестнадцатеричном, восьмеричном или двоичном режиме.
Тип данных | Размер типа данных (бит) | Нижний предел | Верхний предел |
---|---|---|---|
Байт | 8 | -128 | 127 |
Двухбайтный | 16 | ||
32,767 | |||
Четырехбайтный | 32 | -2,147,483,648 | 2,147,483,647 |
Шестидесятичетырехбайтный | 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 [ ]
Калькулятор в не-LTSB изданиях Windows 10 является универсальным приложением Windows. Напротив, Windows 10 LTSB (который не включает универсальные приложения для Windows) включает в себя традиционный калькулятор, но который теперь называется win32calc.exe. Оба калькулятора предоставляют функции традиционного калькулятора, входящего в состав Windows 7, такие как единичные преобразования для объема, длины, веса, температуры, энергии, области, скорости, времени, мощности, данных, давления и угла и списка истории, которые пользователь может очистить.
Все выпуски Windows 10 (как LTSB, так и не LTSB) по-прежнему имеют файл calc.exe, который, однако, является только заглушкой, которая запускает (через ShellExecute) обработчик, связанный с псевдокодом «calculator:». Как и в случае с любым другим протоколом или файловым типом, когда есть несколько обработчиков, пользователи могут выбирать, какой обработчик они предпочитают - либо с помощью классической панели управления («Настройки программ по умолчанию»), либо с помощью настроек пользовательского интерфейса («Приложения по умолчанию») или из командной строки через OpenWith calculator: .
Особенности [ ]
По умолчанию калькулятор запускается в стандартном режиме, который напоминает четырехфункциональный калькулятор. Более продвинутые функции доступны в научном режиме, включая логарифмы, числовые базовые преобразования, некоторые логические операторы, приоритет операторов, радиан, степень и градиенты, а также простые статистические функции с одной переменной. Он не обеспечивает поддержку пользовательских функций, сложных чисел, переменных хранения для промежуточных результатов (кроме классической памяти накопителей карманных калькуляторов), автоматизированного преобразования полярно-декартовых координат или поддержки статистики с двумя переменными.
Калькулятор поддерживает быстрые клавиши; все функции калькулятора имеют ассоциированную комбинацию клавиш.
Калькулятор в шестнадцатеричном режиме не может принимать или отображать шестнадцатеричное число, превышающее 16 шестнадцатеричных цифр. Таким образом, наибольшее число, которое он может обрабатывать, составляет 0xFFFFFFFFFFFFFFFF (десятичное 18 446 744 073 709 551 615). Любые вычисления в шестнадцатеричном режиме, которые превышают этот предел, будут отображать результат нуля, даже если эти вычисления будут успешными в других режимах. В частности, научная нотация недоступна в этом режиме.
Calculator Plus [ ]
Калькулятор Plus - это отдельное приложение для пользователей Windows XP и Windows Server 2003, которое добавляет режим «Конверсия» в версии калькулятора Windows XP. Режим «Конверсия» поддерживает конвертацию единиц и конвертацию валют. Курсы обмена валют можно обновить, используя встроенную функцию обновления, которая загружает курсы обмена из Европейского центрального банка.
Итак, как в большинстве проектов, все начинается с создания приложения Windows Forms, а уже в нем – с редактирования формы. У нас получилась вот такая:
Проект для VS2015
В чем будем считать и хранить числа? Я выбрал тип double – точности его нам вполне хватит; это все же студенческая работа, а не для точных инженерных расчетов. Дальше определимся с тем, сколько чисел и операций будем хранить в памяти. Предположим, штук двадцать: тогда надо создать два массива – один для чисел, а другой для операций между ними.
Почему мы воспользовались указателями, а не просто создали глобальные переменные за пределами windows forms? Дело в том, что, использование глобальных переменных – это плохой тон при программировании, и очень часто преподаватели против данной практики студентов.
В нашей программе будут три основных метода: vvod - принимает цифру (нажатую кнопку) в качестве аргумента и добавляет её к числу. ravno - нажатие на кнопку равно - все считает, ravno2 - это нажатие на кнопку знака. Факториал, деление единицы на число и корень квадратные - там реализуются методы сразу при нажатии все обрабатывается.
Добавим также флаг для памяти:
И еще систему флагов:
Вот, например, как у нас будет выглядеть метод vvod():
Здесь мы проверяем, какая клавиша в нашем калькуляторе была нажата перед этим – цифра, арифметическая операция или знак равно. Далее получаем из текстбокса значение, конвертируем предыдущее из массива, конкатенируем строки, потом обратно в double и обновляем значение массива. Также в этом методе мы проверяем длину числа – мы поставили ограничение на 10 знаков.
Обработка кнопки равно – то есть метод вычисления – также не представляет сложности. Пользуясь оператором ветвления switch перебираем все варианты.
Также реализуем собственный класс для обработки ошибок. Зачем это надо? Дело в том, что мы оперируем с числами типа double, а они не выбрасывают некоторые стандартные исключения, например – деление на ноль. Также мы предусмотрим обработку переполнения и вычисления квадратного корня из отрицательного числа. На вход конструкторов этого класса будем принимать пару чисел. Выводятся ошибки при:
- взятии корня четной степени из отрицательного числа
- логарифмировании отрицательного числа и нуля
- делении на нуль.
- переполнении (калькулятор все же не бесконечный)
Вот такие основные моменты надо знать для написания данной программы. Ну а если вы не можете самостоятельно написать визуальный калькулятор на C++, то обратитесь ко мне. Актуальную цену за архив с готовой программой и исходниками с подробными комментариями в настоящий моент 500 рублей. Это будет проект в Visual Studio C++ 2010 - он откроется в любой другой версии студии не ниже 2010. Также есть проект для Visual Studio 2015.
Мой калькулятор реализует все основные функции: сложение, вычитание, деление, умножение, факториал, возведение в степень, извлечение квадратного корня, вычисление 1/x, функции памяти (занести в память, вывести содержимое памяти, очистить память).
Добавились новые функции в калькуляторе. А именно:
- Извлечение корня четной и нечетной степени из числа
- Вычисление логарифма по любому основанию
- Вычисление экспоненты
Читайте также: