# Windows Calculator

Windows Calculator is a software calculator included in all versions of Windows.

Developer(s) Calculator in Windows 10 in light mode Microsoft November 20, 1985 github.com/Microsoft/calculator C++ All versions of Microsoft Windows, Xbox One System Software, Windows 10 Mobile, Windows Phone Software calculator MIT License

## History

A simple arithmetic calculator was first included with Windows 1.0.[1]

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

Until Windows 95, the highest representable number by the calculator is 21024, which is slightly above 10308 (about 80% above 10308).

In Windows 98 and later, it uses an arbitrary-precision arithmetic library, replacing the standard IEEE floating point library.[2] 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 <1010,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

The calculators of Windows XP and Vista were able to calculate using numbers beyond 1010000, 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.

These are the last versions of Windows Calculator, where calculating with Binary/Decimal/Hexadecimal/Octal numbers is included into scientific mode. In Windows 7, they were moved to programmer mode, which is a new separate mode that co-exists with 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 1010000 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[3] integer when converting from number in hexadecimal, octal, or binary mode.

Data typeSize of data type (bits)Lower limitUpper limit
Byte8-128127
Word16-32,76832,767
Dword32-2,147,483,6482,147,483,647
Qword64-9,223,372,036,854,775,8089,223,372,036,854,775,807

On the right 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),[4] 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.[5]

### 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, such as a 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.[6]

On 6 March 2019, Microsoft released the source code for Calculator on GitHub under the MIT License.[7]

## 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.

Calculator supports keyboard shortcuts; all Calculator features have an associated keyboard shortcut.[8]

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.

## 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.