Console Calculator version 2.4.5

The calculator has 3 main components:

High-precision scientific calculator:

Base converter:

Units converter:

Calculator Tutorial: The Basics

[ return to top ]

At the "> " prompt, type a mathematical expression or formula and press enter to calculate the result. For example, after the prompt, type "4+5*4" followed by the enter key. The result would be:
ans = 24

If you then typed, "ans / 2", your result would be:
ans = 12

To perform a quick calculation on the previous result, instead of typing "ans", you may type the operator (*, /, +, or -) at the new prompt and the "ans" will be inserted automatically. For example, if you type "-" the prompt line will be replaced with "ans-". (If you want just the negative sign, type the "-" key twice, and you will be left with a single negative sign.)

Put multiple calculations in a single line, separated by a semicolon.  "m = 5; m+2" would result with:
ans = 7

Using a semicolon also suppressed the result from being displayed, similar to Matlab.  This is useful when making script files.

Use hex and binary: "0xFF + 0b1001" would result with:
ans = 264

Use as a unit converter: "10 in->cm" converts 10 inches into centimeters. The result is how many centimeters are in 10 inches:
ans = 25.4

Valid Operators

 -, +, *,  /  Subtract, Add, Multiply, Divide
^ Raise to power (or exponent) ie. 3^3 = 27
% Integer modulo, or remainder function. ie. 7%3 = 1
! Factorial. i.e. 4! = 4*3*2*1 = 24
<<, >> Bitwise shift left, right
&,  |,  @  Bitwise AND, OR, XOR
( ), [ ] Parenthesis may be used

More advanced math functions are available, such as square root and trig functions. More information on these functions is available: Built-In Math Functions.

Handy Features

History: Recall Previous Entries

You may press the up or down arrows to quickly copy previous entries to the current prompt, similar to a UNIX console.

Create Variables

For example, "m = 25" creates a variable m which can be used in later calculations.  The variable pi = 3.14159... is predefined. The variable ans is always equal to the previous result.

Define Custom Functions

For example, "par(x,y) = x*y/(x+y)" creates a function which takes 2 parameters, in this case to calculate the resistance of two resistors in parallel. Call the function like this: "par(10,10)" and the result will be "5". Functions that you create will be automatically saved after you exit for future console calculator sessions. Type the command "list" to see all available functions.

Copy Previous Result

If there is no text highlighted and you copy, the previous result will automatically be placed into the clipboard. For example, if the previous result was "ans = 128" and you typed Ctrl-C to copy, the text "128" would be in the clipboard and ready to paste into another application.

High Precision Floating Point

Arithmetic with high precision floating point numbers. Over 100 significant digits of decimal accuracy (350 bits). Most calculators perform double-byte floating point calculations, which are 64 bit structures. Console Calculator gives you not 64 bits or 128 bits or 144 bits but 269 bits of arithmetic accuracy! This is known as astronomical precision. More on the calculator precision is available here: high precision calculator note.

SI-Unit Prefixes

You may use metric unit prefixes appended to the end of a number to automatically adjust units.  For example, "5c + 5m" + enter would result with:
ans = 0.055

Metric Prefixes:

Peta-   P   10^15    1 000 000 000 000 000
Tera-   T   10^12    1 000 000 000 000
Giga-   G   10^9     1 000 000 000
Mega-   M   10^6     1 000 000
kilo-   k   10^3     1000
centi-  c   10^-2    0.01
milli-  m   10^-3    0.001
micro-  u   10^-6    0.000 001
nano-   n   10^-9    0.000 000 001
pico-   p   10^-12   0.000 000 000 001
femto-  f   10^-15   0.000 000 000 000 001
atto-   a   10^-18   0.000 000 000 000 000 001

Save and Open Scripts

You may save the contents of the current console to a script file which may be run again at a later time. Each line of a script file must be a valid mathematical expression and commands may be seperated by semicolons.

To save a script, choose "Save Script..." from the "File" menu. Choose "Save As..." to save the entire contents of the CCalc window.

Command-Line Interface

The calculator has some command-line options that may be useful. Blind students have found it useful, and others have found it useful for automated calculations.

ccalc [inputfile] [-o outputfile] [-q]

 

Built-in Math Functions

[return to top ]

Functions include scientific, trig and math.h compatible functions.
  •  sqrt  - square root
  •  ln  - natural log
  •  log  - log base 10
  •  logxx - log base xx (log2 for log base 2, log8 for log base 8, etc)
  •  ln  - natural log
  •  exp  - exponential, e^...
  •  sin  - sine
  •  cos  - cosine
  •  tan  - tangent
  •  asin - arcsine
  •  acos - arcosine
  •  atan - arctangent
  •  sinh - hyperbolic sine
  •  cosh - hyperbolic cosine
  •  tanh - hyperbolic tangent
  •  abs - absolute value
  •  round - round function, rounds up or down to the nearest integer
  •  ceil - ceiling function, rounds up to the nearest integer
  •  floor - floor function, rounds down to the nearest integer

 

Options: Customize Fonts, Appearance and Behavior

[ return to top ]

Console Calculator has several options which may be set to control the look and behavior of the calculator. All the options mentioned below can be changed with the "Options" menu.

Radian or Degree mode

This effects trigonometric functions.

Font and Colors

Change the font, size, color, and background color.

Displayed Base

The base can be set to either Binary, Decimal, or Hexadecimal. 100 may be displayed as 100, 0x64, or 0b1100100. This effects only the displayed result.

Display Scientific Notation

Auto: Scientific notation is only used for extremely small or large floating point numbers.
Large Numbers: Same as Auto, but scientific notation is also used for large integers.
Always Scientific: Scientific notation is used at all times.
(Scientific notation example: 123.88 is displayed as 1.23880e2)
Engineering: Engineering notation is used. (Numbers are displayed with exponents in multiples of 3.)
Engineering Prefix: Engineering SI-unit prefixes are used. (123.88e-6 is displayed as 123.88u)

Max Significant Figures

Maximum number of significant figures to display, used when displaying in scientific notation. (Significant figures are not applied to integers unless they are being displayed in scientific notation.)

Display Thousands Separator

For certain large numbers, when not using scientific notation, it is helpful to use a thousands separator, such as a comma. For example: 12,888.12. Note that this is for display only; separators are not recognized when entering an equation.

Two's Complement

When displaying HEX or BINARY values, negative values can optionally be displayed as two's complement notation.

Transparency

Transparency of the window may be adjusted between 0% and 100%.

Command History Size

Number of stored previous entries.

Always on Top

When enabled, the window will float above all other windows.

Snap-to Screen Edge

When enabled, the window will snap to screen edged when moved.

Minimize to system tray

When enabled, the calculator will minimize to a system tray icon.

Allow multiple instances

When enabled, multiple CCalc.exe windows (instances) can be running at the same time. Otherwise, only a single CCalc window can be active, and this window will be brought to the forefront if CCalc.exe is opened again.

Reassign Calculator AppKey

Certain keyboards have a calculator appkey, which opens the windows calculator by default. If this box is checked, Console Calculator will become the default application when the appkey is pressed.
(This is accomplished by editing the Windows registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18 )

Auto-evaluate

When enabled, current expression is calculated as it is typed in the Status Bar. Enable the Status Bar in the Options menu or Ctrl-B.

European style delimiters

When enabled, this essentially swaps the meaning of the comma "," and period "." as the decimal delimiter and to separate arguments in a function. For example, with european style, 1024.56 would be 1024,56. Also, instead of f(x,y) you must use f(x.y) to separate arguments in a function. Hopefully this is clear. You may also use Ctrl-. or Ctrl-, to switch between settings.

10-Key Calculator Mode

When enabled, the calculator behaves as a 10-key calculator. Basically, a tenkey assumes that you are adding a series of numbers. Consequently, the fundamental operation consists of entering numbers and their signs, which the application will sum:

1) Enter number.
2) Enter its sign.
3) Repeat steps 1 and 2 as desired.

Examples:
2+ 3+ => 5
2- 3+ => 1
2+ 3+ 4- => 1

A tenkey also keeps the last number you entered in its cache; if you enter another operator without explicitly typing a new number, the tenkey will use the contents of the cache.

Examples:
2+++ => 2+ 2+ 2+ => 6
2+3++ => 2+ 3+ 3+ => 8

 

Calculator Commands

[return to top ]

Several of the options above can be scripted or changed via commands at the prompt. Below are the available commands.

Command List:

clear or clsClear the screen text.
del X (or rem X)Deletes user-defined function or variable X
disp XPrints a variable name and value.
display [dec|hex|bin]Sets the display base, such as display hex
echo text stringPrints a text to console (useful for scripting).
european [on|off]Turns european delimiters on/off.
exitExit the calculator.
listLists all user-defined functions.
mode [rad|deg]Sets to radian or degree mode.
scimode [auto|large|always|eng]Sets the scientific display mode preference.
sigfigs XSets the number of max significant figures to X.
unit newunitDefine a new unit type for units converter. See below.
gospelThe good news.

Base Converter

[return to top ]

This calculator interprets several different numerical bases and can convert from one base to another. You may change the displayed base in the "Options" menu or using the keyboard shortcuts shown below. Holding down the shift key while changing the base will display the previous answer in the new base without changing the default base permanently.

Set display base:

Shortcut:

Binary (base 2)Ctrl-1
Decimal (base 10)Ctrl-2
Hexadecimal (base 16)Ctrl-3

Using Decimal, Hex and Binary

Decimal numbers are assumed, but you can specify a number as binary with a "0b" or hex with a "0x".

The number 15 (decimal) in different bases:
Decimal: 15
Binary: 0b1111
Hexadecimal: 0xF

For example, "15 + 0x5 + 0b101" would result with:
ans = 25

Two's Complement

When viewing negative numbers as binary or hex, two's complement notation is optional. Two's complement is the way that computers typically store signed integers in memory. For example, -5 could be displayed in hex as a 32-bit two's complement, which would be 0xFFFFFFFB rather than -0x0005. This can be a handy option for software developers, though it is off by default.

 

Unit Converter

[return to top ]

CCalc is also a fully featured units conversion utility. Convert from SI units to non-SI units. Convert between units of length, area, volume, force, and many other types of units in a convenient way. The syntax is very simple and yet very flexible. Don't forget, if you need a unit that is not a built-in unit, you can define your own custom unit! Once created, new unit definitions are saved permanently in the ccalc_functions.txt for future console calculator sessions. Below are some unit conversion examples.

Description

Example

Result

Get conversion factor in->cm ans = 2.54
Inches to centimeters 20*5 in->cm ans = 254
Miles per hour to meters per second 70 mi/h->m/s ans = 31.2928
Newton-meters to milljoules 50 N-m->millijoules ans = 50000
Square meters to acres
(4 examples)
10000 m^2->acres
10000 m^2->acre
10000 m*m->acre
10000 m-m->acre
ans = 2.4710538
Define a new unit: furlong unit furlong = 201.168 meters new unit created!

Table of Built-In Units

SI-Base Units

meter
gram
second
ampere
kelvin
mole
candela

SI-Derived Units

radianmeter/meter
steradianmeter^2/meter^2
hertz/second
newtonmeter-kilogram/second^2
pascalkilogram/meter-second^2
joulemeter^2-kilogram/second^2
wattmeter^2-kilogram/second^3
coulombsecond-ampere
voltmeter^2-kilogram/second^3-ampere
faradsecond^4-ampere^2/meter^2-kilogram
ohmmeter^2-kilogram/second^3-ampere^2
siemenssecond^3-ampere^2/meter^2-kilogram
webermeter^2-kilogram/second^2-ampere
teslakilogram/second^2-ampere
henrymeter^2-kilogram/second^2-ampere^2
lumencandela-steradian
luxcandela-steradian/meter^2
becquerel/second
graymeter^2/second^2
sievertmeter^2/second^2

Non-SI Units

acre4.04685642E3meter^2
angstrom1.0E-10meter
astronomicalUnit1.495979E11meter
atmosphere1.01325E5pascal
bar1.0E5pascal
calorie4.1868joule
curie3.7E10becquerel
day8.64E4second
degree1.745329E-2radian
electronVolt1.60219E-19joule
erg1.0E-7joule
faraday9.648531coulomb
fermi1.0E-15meter
foot3.048E-1meter
gauss1.0E-4tesla
gilbert7.957747E-1ampere
grain6.479891E-5kilogram
hectare1.0E4meter^2
hour3.6E3second
inch2.54E-2meter
lightYear9.46073E15meter
liter1.0E-3meter^3
maxwell1.0E-8weber
mho1.0siemens
micron1.0E-6meter
mil2.54E-5meter
mile1.609344E3meter
minute6.0E1second
ounce28.3495231gram
parsec3.085E16meter
pica4.233333E-3meter
pound4.535924E-1kilogram
revolution6.283185radian
revolutionPerMinute1.047198E-1radian/second
week6.048E5second
yard9.144E-1meter
year3.1536E7second

Abbreviations

Aampere
AUastronomicalUnit
Bqbecquerel
cdcandela
Ccoulomb
eVelectronVolt
Ffarad
ftfoot
grgrain
ggram
Gygray
hahectare
Hhenry
Hzhertz
hhour
hrhour
ininch
Jjoule
Kkelvin
Lliter
lmlumen
lxlux
Mxmaxwell
mmeter
mimile
minminute
molmole
Nnewton
ozounce
pcparsec
Papascal
lbpound
radradian
rpmrevolutionPerMinute
ssecond
secsecond
Ssiemens
Svsievert
srsteradian
Ttesla
Vvolt
Wwatt
Wbweber
wkweek
ydyard
yryear