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)*3becomes
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 + sinSyntax
Operators
+Addition.-Subtraction.*Multiplication./Division.^Raise to power.divInteger division.modRemainder of division.andBitwise logical AND operation.orBitwise logical OR operation.eorBitwise logical EXCLUSIVE OR operation.==Checks for equality between the operands. Returns -1 (true) if the two operands are equal, otherwise returns 0 (false)
Functions
absA function which returns the absolute value of its numeric argument.acsA function which returns, in radians, the arc-cosine of its numeric argument. The permitted range of the argument is –1 to +1.asnA function which returns, in radians, the arc sine of its numeric argument. The permitted range of the argument is –1 to +1.atnA 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.cosA function giving the cosine of its radian argument.degA function which converts radians to degrees.expA function returning 'e' to the power of the argument.intA function truncating a real number to the lower integer.invA function which returns the inverse 1/x of the argument.lnThis function gives the logarithm to the base 'e' of its argument. The 'natural' number, 'e', is approximately 2.71828183.logA function giving the base-10 logarithm of its argument.notA function return the opposite boolean value to its argument. All +ve/-ve numbers evaluate as -1 (true). Zero evaluates as 0 (false)radA function which converts degrees to radians.rndA function which returns a random number. The type and range of the number returned depends upon the optional parameter.sgnA function returning –1 for negative argument, 0 for zero argument and +1 for positive argument.sinThis function returns the sine of an angle. The angle must be expressed in radians, not degrees.sqrA function returning the square root of its argument.tanThis function returns the tangent of an angle. The angle must be expressed in radians, not degrees.roundThis function returns a real number rounded to the nearest integer.
Commands
acc offReturns the accumulator to its usual behaviour.acc onPrevents the accumulator from clearing between calculations. The value of each calculation is added to the previous value of the accumulator.adminOpens Windows admin tools.binEnters BINARY mode (base 2).bingSends search query to Bing, egbing this thing. Without a parameter, sets the preferred search engine to Bing.clearSets the accumulator, all user-defined variables and the system clock to zero.clockOpen Clock and alarms (if available).cmdWindows command line.copyCopies the accumulator to the Windows Clipboard. NB CTRL+C copies the current input line to the clipboard instead.cortanaOpens Cortana (if available).cpOpens Windows 'control panel' dialogue.define wordDefines the search term using your browser.denEnters DENARY mode (base 10).deskordesktopOpens the desktop.dictionaryOpen superdecade dictionary.driveMicrosoft maps (if available). egdrive London.fileOpen a specific file. egfile c:\users\username\filename.ext.filesOpens windows explorer.free spaceShows free space on drive letter, egfree space c.googleSends search query to Google, eggoogle this thing. Without a parameter, sets the preferred search engine to Google.helpLoads online help (you are currently reading it now).hexEnters HEXADECIMAL mode (base 16).magnifierOpens Windows magnifier tool.mailSend mail (if available). egmail someone@domain.notepadOpens Windows Wordpad.octEnters OCTAL mode (base 8).onenoteOpen OneNote (if avilable).openSynonymous withfile.peopleOpen People (if available).pingSends a ping to ip egping 8.8.8.8.powerShows current power status.programsOpens the Windows 'programs' dialogue.quitCloses the RPN calculator without further warning.renameRename the title bar, egrename My shopping calculations.restartRestart the computer.set timeOpens the Windows 'set time' dialogue.set dateOpens the Windows 'set date' dialogue.settingsOpen Windows settings.shellOpen Windows 10 shell command. egshell ms-settings:powersleepshutdownShuts down the computer.soundOpens Windows sound controls.tasksOpens Windows task scheduler.updateCheck for updates.userFinds current userversionShows current version of RPN calc and OS.walkMicrosoft maps (if available). egwalk London.
Special variables and constants
lastThis special variable holds the current value of the accumulator. Thus a calculation can make use of the previous result.piThis variable has a constant value of 3.14159265timeThis 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 + = xHere, 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




