# Windows Calculator

Windows Calculator is a software calculator developed by Microsoft and included in Windows. In its Windows 10 incarnation it has four modes: standard, scientific, programmer, and a graphing mode. The standard mode includes a number pad and buttons for performing arithmetic operations. The scientific mode takes this a step further and adds exponents and trigonometric function, and programmer mode allows the user to perform operations related to computer programming. In 2020, a graphing mode was added to the Calculator, allowing users to graph equations on a coordinate plane.
The Windows Calculator is one of a few applications that have been bundled in all versions of Windows, starting with Windows 1.0. Since then, the calculator has been upgraded with various capabilities.
In addition, the calculator has also been included with Windows Phone and Xbox One. The Microsoft Store page proclaims HoloLens support as of February 2024, but the Calculator app is not installed on HoloLens by default.

## History

A simple arithmetic calculator was first included with Windows 1.0.
In Windows 3.0, a scientific mode was added, which included exponents and roots, logarithms, factorial-based functions, trigonometry (supports radian, degree and gradians angles), base conversions (2, 8, 10, 16), logic operations, statistical functions such as single variable statistics and linear regression.

### Windows 9x and Windows NT 4.0

Until Windows 95, it uses an IEEE 754-1985 double-precision floating-point, and the highest representable number by the calculator is 2$^{1024}$, which is slightly above 10$^{308}$ (≈1.80 × 10$^{308}$).
In Windows 98 and later, it uses an arbitrary-precision arithmetic library, replacing the standard IEEE floating point library. It offers bignum precision for basic operations (addition, subtraction, multiplication, division) and 32 digits of precision for advanced operations (square root, transcendental functions). The largest value that can be represented on the Windows Calculator is currently <10$^{10,000}$ and the smallest is 10$^{−9,999}$. (Also ! calculates the gamma function which is defined over all real numbers, only excluding the negative integers).

### Windows 2000, XP and Vista

In Windows 2000, digit grouping is added. Degree and base settings are added to menu bar.
The calculators of Windows XP and Vista were able to calculate using numbers beyond 10$^{10000}$, but calculating with these numbers (e.g. 10^2^2^2^2^2^2^2...) does increasingly slow down the calculator and make it unresponsive until the calculation has been completed.
Unlike later versions, calculating with binary/decimal/hexadecimal/octal numbers is included into scientific mode.

### Windows 7

In Windows 7, separate programmer, statistics, unit conversion, date calculation, and worksheets modes were added. Tooltips were removed. Furthermore, Calculator's interface was revamped for the first time since its introduction. The base conversion functions were moved to the programmer mode and statistics functions were moved to the statistics mode. Switching between modes does not preserve the current number, clearing it to 0.
The highest number is now limited to 10$^{10000}$ again.
In every mode except programmer mode, one can see the history of calculations. The app was redesigned to accommodate multi-touch. Standard mode behaves as a simple checkbook calculator; entering the sequence 6 * 4 + 12 / 4 - 4 * 5 gives the answer 25. In scientific mode, order of operations is followed while doing calculations (multiplication and division are done before addition and subtraction), which means 6 * 4 + 12 / 4 - 4 * 5 = 7.
In programmer mode, inputting a number in decimal has a lower and upper limit, depending on the data type, and must always be an integer. Data type of number in decimal mode is signed n-bit integer when converting from number in hexadecimal, octal, or binary mode.
| Data type | Data type size | Lower limit | Upper limit |
| Byte | 8 bit | −128 | 127 |
| Word | 16 bit | −32,768 | 32,767 |
| Dword | 32 bit | −2,147,483,648 | 2,147,483,647 |
| Qword | 64 bit | −9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
On the right side of the main Calculator, one can add a panel with date calculation, unit conversion and worksheets. Worksheets allow one to calculate a result of a chosen field based on the values of other fields. Pre-defined templates include calculating a car's fuel economy (mpg and L/100 km), a vehicle lease, and a mortgage. In pre-beta versions of Windows 7, Calculator also provided a Wages template.

### Windows 8.1

While the traditional Calculator is still included with Windows 8.1, a Metro-style Calculator is also present, featuring a full-screen interface as well as normal, scientific, and conversion modes.

### Windows 10

The Calculator in non-LTSC editions of Windows 10 is a Universal Windows Platform app. In contrast, Windows 10 LTSC (which does not include universal Windows apps) includes the traditional calculator, but which is now named win32calc.exe. Both calculators provide the features of the traditional calculator included with Windows 7 and Windows 8.x, such as unit conversions for volume, length, weight, temperature, energy, area, speed, time, power, data, pressure and angle, and the history list which the user can clear.
Both the universal Windows app and LTSC's win32calc.exe register themselves with the system as handlers of a 'calculator:' pseudo-protocol. This registration is similar to that performed by any other well-behaved application when it registers itself as a handler for a filetype (e.g. .jpg) or protocol (e.g. http:).
All Windows 10 editions (both LTSC and non-LTSC) continue to have a calc.exe, which however is just a stub that launches (via ShellExecute) the handler that is associated with the 'calculator:' pseudo-protocol. As with any other protocol or filetype, when there are multiple handlers to choose from, users are free to choose which handler they prefer— either via the classic control panel ('Default programs' settings) or the immersive UI settings ('Default Apps' settings) or from the command prompt via OpenWith calculator:.
In the Windows 10 Fall Creators Update, a currency converter mode was added to Calculator.
On 6 March 2019, Microsoft released the source code for Calculator on GitHub under the MIT License.

### Windows 11

In Windows 11, the Calculator app's user interface was modified to match the design of Windows 11 and a new settings page is present for users to toggle between the themes of the app without changing the operating system's theme. In 2021, Microsoft announced it would migrate the codebase of the Calculator app to C# in order to welcome more developers to contribute to the app.

## Gallery

* Microsoft Windows NT Calculator Version 3.1
* Windows XP Calculator
* Windows 7 Calculator with Windows Aero
* Windows 8 Calculator
* Windows 8.1's additional Metro-style calculator in standard mode
* Windows 10 Modern UI Calculator

## Features

By default, Calculator runs in standard mode, which resembles a four-function calculator. More advanced functions are available in scientific mode, including logarithms, numerical base conversions, some logical operators, operator precedence, radian, degree and gradians support as well as simple single-variable statistical functions. It does not provide support for user-defined functions, complex numbers, storage variables for intermediate results (other than the classic accumulator memory of pocket calculators), automated polar-Cartesian coordinates conversion, or support for two-variables statistics.
In addition, the programming mode allows conversions between bases 16, 10, 8, and 2, the most commonly used by programmers. In this mode, the on-screen numeric keypad includes the hexadecimal digits A through F, which are active when "Hex" is selected. In hex mode, only integers are supported.
Calculator supports keyboard shortcuts; all Calculator features have an associated keyboard shortcut.
Calculator in programmer mode cannot accept or display a number larger than a signed QWORD (16 hexadecimal digits/64 bits). The largest number it can handle is therefore 0x7FFFFFFFFFFFFFFF (decimal 9,223,372,036,854,775,807). Any calculations in programmer mode which exceed this limit will overflow, even if those calculations would succeed in other modes. In particular, scientific notation is not available in this mode.

## Issues

* In Windows 7, 8, and some versions of Windows 10, transcendental function operations, such as the square root operator (sqrt(4) − 2 = −8.1648465955514287168521180122928e−39), would sometimes be calculated incorrectly due to catastrophic cancelation. In newer versions, this doesn't happen with integers, but it still happens when you enter decimal numbers.
* Older versions of the universal Calculator in non-LTSC editions of Windows 10 doesn't use any regional format (can be set in Region Control Panel) that are different from the app's display language for number formatting (the app's language is English (United States) but Windows's regional format is set to a different format).

## Calculator Plus

Calculator Plus is a separate application for Windows XP and Windows Server 2003 users that adds a 'Conversion' mode over the Windows XP version of the Calculator. The 'Conversion' mode supports unit conversion and currency conversion. Currency exchange rates can be updated using the built-in update feature, which downloads exchange rates from the European Central Bank.