|Original author(s)||Chris Peters,|
|Initial release||November 20, 1985|
|Written in||C++, C#|
|Operating system||All versions of Microsoft Windows, Xbox system software, Windows 10 Mobile, Windows Phone|
|Platform||IA-32, x86-64 and ARM (and historically DEC Alpha, Itanium, MIPS, and PowerPC)|
|License||Proprietary Software (Windows 1.0 - Windows 8) |
MIT License (Windows 10)
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.
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.
Until Windows 95, it uses an IEEE 754-1985 double-precision floating-point, and the highest representable number by the calculator is 21024, which is slightly above 10308 (~1.80 × 10308).
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 <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).
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 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.
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 integer when converting from number in hexadecimal, octal, or binary mode.
|Data type||Data type size||Lower limit||Upper limit|
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), a vehicle lease, and a mortgage. In pre-beta versions of Windows 7, Calculator also provided a Wages template.
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.
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 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.
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
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.
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 to migrate the codebase of the Calculator app to C# in order to welcome more developers to contribute to the app.
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.
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.
sqrt(4) − 2 = −8.1648465955514287168521180122928e−39) causing the number to be calculated incorrectly due to catastrophic cancelation.
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.