Windows Calculator

Windows Calculator, commonly known as Calculator from the application's title bar, is a calculation application included in all versions of the Microsoft Windows operating system. It can be activated by the command "calc" on most Windows systems.

History
It was first included with Windows 1.0 as a simple arithmetic calculator.

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, Statistic functions such as single variable statistics and linear regression. In Windows 3.0 and Windows 3.1 its interface had a white background with 2D buttons.

In Windows 95 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 operators). Other changes include the use of 3d buttons. This version can run in Windows 3.1 if Win32s is installed.

In Windows 2000, digit grouping is added. Degree and base settings are added to menu bar.

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.In every mode except Programmer, one can see the history of calculations. The applet was redesigned to accommodate multitouch. 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 Scientific mode, the base conversion functions were moved to the Programmer mode, and statistics functions were moved to the Statistics mode.

On the right of the main Calculator, one can add a panel with Date Calculation, Unit Conversion, and Worksheets. The included 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 Vista and earlier
In Windows versions before Windows 7, Calculator has a simplified interface, small size, and can perform all of the functions of most four-function or scientific calculators. By default, the application is in the "Standard" mode, and functions as 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 two-variables statistics, making it impractical to use with many engineering, physics or high school mathematics tasks.

Calculator is not able to do "constant calculations". Using common stand-alone calculator, when a user wants to apply the same constant and operation many times, the second and following calculations can be done without retyping the operation and constant. So one can type: 2*7=[14] 3=[21] 4=[28] etc..

Some versions of Calculator have a way to automate long calculations. Writing a text file in Notepad or another text editor containing a number at the beginning and then an operator and other numbers and operators following it and pasting the resultant content to Calculator's textbox will result in it performing the so described calculations. This may not work correctly with all versions of Calculator, and depends on precise text formatting.

Some keyboards have a "calculator" key, which launches Windows Calculator by default.

Most of Calculator's functions can be accessed with a specific letter or symbol or other keystroke sequence. A full list of Calculator functions and explanations of the functions can be found in Calculator's help file.

Hex Mode Limitation and Behavior
Calculator in "Hex" (hexadecimal) mode cannot accept or display a hexadecimal number larger than 0xFFFFFFFFFFFFFFFF (decimal 18446744073709551615). That 8-byte (64-bit) limit, combined with absence of notification to the user regarding the limitation or how it is handled, presents a serious dysfunctionality. For example, if the user switches to "Hex" mode, and then types "10", and then presses the "x^y" button, and then types "10" again, and then presses "=" the result will be "0".

That mode selection and keystroke sequence means Calculator is being told to evaluate 16 (decimal) raised to the 16th (decimal) power, and to display the result in hexadecimal base. In "Hex" mode, on a less limited calculator, "10" "x^y" "10" "=", would produce 10000000000000000, which is the hexadecimal representation of X'10' ** X'10'. That number is 17 digits long, and in "Hex" mode, Calculator is limited to registering and displaying no more than 16 hexadecimal digits. In "Hex" mode, if a result is larger than can be represented in 16 hexadecimal digits, Calculator will return a 0 and yield no error message.

No matter what integer base one may be using, in that base, "10" is the number of the base. Taking to its own power the number of any integer base results in a number which is in that base a 1 followed by a number of 0s equal to the number of the base. So regardless of what integer base one is using, if one keys "10" "x^y" "10" "=", one should get a 1 followed by a number of 0s that is equal to the number of the base one is using.

That works fine in Calculator for binary, octal, and decimal modes. Using "Bin" (binary) the user gets 100 (a 1 followed by 2 0s, i.e. base 2). Using "Oct" (octal) the user gets 100000000 (a 1 followed by 8 0s, i.e. base 8). Using "Dec" (decimal) the user gets 10000000000 (a 1 followed by 10 0s, i.e. base 10). But if the user tries to do that using "Hex" mode, the user gets a 0.

In hexadecimal, a 10 represents the number that in decimal is represented by 16. If the user selects "Dec" mode, and types "16" and then presses the "x^y" button and then types "16" again, and then presses "=" the result will be (decimal) 18446744073709551616, which is correct, as that is the decimal number for "16 raised to the 16th power". Calculator is capable of displaying that number in decimal, but it is incapable of displaying in hexadecimal any number greater than or equal to that number.

If the user seeing that number displayed switches to "Hex" mode, "0" will appear on the resultant display, and if the user then switches back to "Dec" mode, "0" will still appear. That is due to the 16 hexadecimal digit limitation imposed in "Hex" mode, and to the method chosen for handling numbers which cannot be represented in 16 hexadecimal digits. The choice was made to simply substitute zero for any number greater than 0xFFFFFFFFFFFFFFFF.

In "Dec" mode, Calculator is limited to 32 digits in result displays. If a user operating Calculator in "Dec" mode produces a result that exceeds the decimal number resultant display limitations of Calculator, Calculator will resort to Scientific Notation, i.e. it will express the number as a between-1-and-10 number (sometimes inclusive of a decimal point and of numerals after the decimal point) times ten to some power. So, for example, Calculator in "Dec" mode, can display Avogadro's Number as 602214179000000000000000 (that value is plus or minus about 30 in the least significant nonzero digits) which is a 24 digit number, but if the user squares that, the result is 3.62661917388644041e+47. That would be a 48 digit number if it were displayed without the e+ notation. Calculator won't do anything analogous to the e+ notation in "Hex" mode. It just reports any number larger than 16 bytes as 0.

Windows 7
The Windows 7 Calculator overcomes many of the limitations described above, however the ability to paste long calculations from a text file with one operation per line is now broken.

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.