For example, the expression 4 + 4 is written as:

`4 4 +`

The RPN Calculator version 1_08 is a BBC BASIC for Windows implementation and is available by following the download link below. The full source code is included for any programming students to hack.

New colour scheme! |

Reverse Polish Calculations can be entered in one line. Full support for the Windows clipboard. |

Loads of new features including web searching, defining words, opening command prompt and Windows control panel. |

## DOWNLOAD version 1.08 Reverse Polish Notation Calculator for Windows (including source code and executable)

**What's new in version 8?**

* The calculator now tells you when updates are available (assuming your internet connection works).

* New functions for Windows 10, including running shell commands, opening Cortana and OneNote.

* New online help.

* Type any non-command word to search in your favourite browser.

* New commands:

**bing, clock, cortana, desk, desktop, dictionary, drive, open, google, mail, people, rename, restart, shell, shutdown, update**. See online help for more info,

**What's new in version 7?**

* BUG FIX - accumulator is now copied to Windows clipboard in the same numerical base as the current calculator mode.

* Open Windows dialogue boxes (explorer, admin tools, control panel)

* GOOGLE and BING commands - search directly from the calculator.

* Type a URL to open it in your browser.

* Open Wordpad, Magnifier and set time/date dialogues.

* PING url

* FREE SPACE command calculates free space on specified drive (eg. FREE SPACE C)

* POWER command indicates current power settings.

**What's new in version 3?**

* COPY command added. Copies the accumulator to the Windows Clipboard.

* ACC ON/ACC OFF comands added. Turning on forces the accumulator not to clear after a calculation. The following result is added to the accumulator following each calculation.

* HEX/DEN/BIN/OCT commands added to switch between base 16, base 10, base 2 and base 8.

* LAST special variable added which stores the current value of the accumulator, allowing the previous result to be treated as a variable in proceeding calculations.

* INV function added. Returns 1/x where x is the argument.

## DOWNLOAD version 1.08 Reverse Polish Notation Calculator for Windows (including source code and executable)

Setting variables with the RPN. Here we set the value of 'c' using the assignment operator := . |

The Calculator has full Clipboard support. Use the cursor keys to navigate through your past history, or to edit your expressions. |

# RPN Calculator Help for version 1.08

Reverse Polish Notation is a method for expressing algebra in which the operators are placed to the right of their operands. For example, the algebraic expression

**(4+5)*3**becomes`4 5 + 3 *`

.
Functions are placed to the right of their argument, and return a single value. For example,

**sin(x+y)**becomes`x y + sin`

## Syntax

### Operators

`+`

Addition.`-`

Subtraction.`*`

Multiplication.`/`

Division.`^`

Raise to power.`div`

Integer division.`mod`

Remainder of division.`and`

Bitwise logical AND operation.`or`

Bitwise logical OR operation.`eor`

Bitwise logical EXCLUSIVE OR operation.`==`

Checks for equality between the operands. Returns -1 (true) if the two operands are equal, otherwise returns 0 (false)

### Functions

`abs`

A function which returns the absolute value of its numeric argument.`acs`

A function which returns, in radians, the arc-cosine of its numeric argument. The permitted range of the argument is –1 to +1.`asn`

A function which returns, in radians, the arc sine of its numeric argument. The permitted range of the argument is –1 to +1.`atn`

A function which returns, in radians, the arc tangent of its numeric argument. The permitted range of the argument is from minus infinity to plus infinity.`cos`

A function giving the cosine of its radian argument.`deg`

A function which converts radians to degrees.`exp`

A function returning 'e' to the power of the argument.`int`

A function truncating a real number to the lower integer.`inv`

A function which returns the inverse 1/x of the argument.`ln`

This function gives the logarithm to the base 'e' of its argument. The 'natural' number, 'e', is approximately 2.71828183.`log`

A function giving the base-10 logarithm of its argument.`not`

A function return the opposite boolean value to its argument. All +ve/-ve numbers evaluate as -1 (true). Zero evaluates as 0 (false)`rad`

A function which converts degrees to radians.`rnd`

A function which returns a random number. The type and range of the number returned depends upon the optional parameter.`sgn`

A function returning –1 for negative argument, 0 for zero argument and +1 for positive argument.`sin`

This function returns the sine of an angle. The angle must be expressed in radians, not degrees.`sqr`

A function returning the square root of its argument.`tan`

This function returns the tangent of an angle. The angle must be expressed in radians, not degrees.`round`

This function returns a real number rounded to the nearest integer.

### Commands

`acc off`

Returns the accumulator to its usual behaviour.`acc on`

Prevents the accumulator from clearing between calculations. The value of each calculation is added to the previous value of the accumulator.`admin`

Opens Windows admin tools.`bin`

Enters BINARY mode (base 2).`bing`

Sends search query to Bing, eg`bing this thing`

. Without a parameter, sets the preferred search engine to Bing.`clear`

Sets the accumulator, all user-defined variables and the system clock to zero.`clock`

Open Clock and alarms (if available).`cmd`

Windows command line.`copy`

Copies the accumulator to the Windows Clipboard. NB CTRL+C copies the current input line to the clipboard instead.`cortana`

Opens Cortana (if available).`cp`

Opens Windows 'control panel' dialogue.`define word`

Defines the search term using your browser.`den`

Enters DENARY mode (base 10).`desk`

or`desktop`

Opens the desktop.`dictionary`

Open superdecade dictionary.`drive`

Microsoft maps (if available). eg`drive London`

.`file`

Open a specific file. eg`file c:\users\username\filename.ext`

.`files`

Opens windows explorer.`free space`

Shows free space on drive letter, eg`free space c`

.`google`

Sends search query to Google, eg`google this thing`

. Without a parameter, sets the preferred search engine to Google.`help`

Loads online help (you are currently reading it now).`hex`

Enters HEXADECIMAL mode (base 16).`magnifier`

Opens Windows magnifier tool.`mail`

Send mail (if available). eg`mail someone@domain`

.`notepad`

Opens Windows Wordpad.`oct`

Enters OCTAL mode (base 8).`onenote`

Open OneNote (if avilable).`open`

Synonymous with`file`

.`people`

Open People (if available).`ping`

Sends a ping to ip eg`ping 8.8.8.8`

.`power`

Shows current power status.`programs`

Opens the Windows 'programs' dialogue.`quit`

Closes the RPN calculator without further warning.`rename`

Rename the title bar, eg`rename My shopping calculations`

.`restart`

Restart the computer.`set time`

Opens the Windows 'set time' dialogue.`set date`

Opens the Windows 'set date' dialogue.`settings`

Open Windows settings.`shell`

Open Windows 10 shell command. eg`shell ms-settings:powersleep`

`shutdown`

Shuts down the computer.`sound`

Opens Windows sound controls.`tasks`

Opens Windows task scheduler.`update`

Check for updates.`user`

Finds current user`version`

Shows current version of RPN calc and OS.`walk`

Microsoft maps (if available). eg`walk London`

.

### Special variables and constants

`last`

This special variable holds the current value of the accumulator. Thus a calculation can make use of the previous result.`pi`

This variable has a constant value of 3.14159265`time`

This special variable holds the value of the current internal system clock in centi-seconds (one-hundreths of a second).

### Making an assignment to a variable

The RPN calculator has 26 variables with the identifiers 'a', 'b', 'c' ... 'z'. Assignment to a variable is made as follows:`5 5 + = x`

Here, the value '10' is assigned to the varible 'x'. This variable can now be used in further expressions.

All variables are initialised to zero upon the program starting, and can be cleared with the

`clear`

command.## User Interace

### Miscellaneous:

- Insert - Toggle Insert/Overwrite mode
- Enter - End input
- Esc - Terminate input, returns NUL string
- Ctrl+J - As Enter but does not store in line history
- Ctrl+S - Toggle case of current character
- Ctrl+T - Transpose adjacent characters
- Ctrl+G - Sound system bell

### Movement:

- Left - Move left one character
- Right - Move right one character
- Ctrl+Left - Move left one word
- Ctrl+Right - Move right one word
- Home - Move to start
- End - Move to end

### Clipboard:

- Ctrl+C - Copy line to clipboard
- Ctrl+X - Cut line to clipboard
- Ctrl+V - Paste text from clipboard

### Deletion:

- BkSp - Delete left one character
- Del - Delete right one character
- Ctrl+U - Clear input buffer
- Ctrl+Home - Delete to start
- Ctrl+End - Delete to end

### History:

- Up - Previous input
- Down - Next input
- Ctrl+Up - Select first input in buffer
- Ctrl+Down - Select last input
- Shift+Up - Skip back 16 inputs
- Shift+Down - Skip forward 16 inputs