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 + 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, egbing 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
ordesktop
Opens the desktop.dictionary
Open superdecade dictionary.drive
Microsoft maps (if available). egdrive London
.file
Open a specific file. egfile c:\users\username\filename.ext
.files
Opens windows explorer.free space
Shows free space on drive letter, egfree space c
.google
Sends search query to Google, eggoogle 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). egmail someone@domain
.notepad
Opens Windows Wordpad.oct
Enters OCTAL mode (base 8).onenote
Open OneNote (if avilable).open
Synonymous withfile
.people
Open People (if available).ping
Sends a ping to ip egping 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, egrename 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. egshell 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 userversion
Shows current version of RPN calc and OS.walk
Microsoft maps (if available). egwalk 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.14159265time
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