This site has no affiliation with Hewlett Packard (HP).
I've owned both the HP-48S and the HP-48GX, the latter of which I purchased
somewhere around 1994 and have been using ever since. Unfortunately I found
myself wishing that I could copy and paste data between my PC and my
calculator, so this online version was a side project to provide me with a
familiar RPN calculator containing the functionality I used the most often.
This online, JavaScript based, calculator uses Reverse Polish Notation
(RPN)
semantics for entering data and executing operations. A stack of data
variables is stored in memory but only the top 16 elements are displayed
(unlike the physical calculator which only has display room for 4 rows).
These values are persisted across browser sessions using Cookies so clearing
or disabling the use of cookies will prevent any state from being saved.
One of the main goals for this application is to completely support keyboard
entry. You can accomplish anything (data entry, executing operators and
functions) all from a standard PC keyboard. For keys that already exist on
your keyboard, just hit them as normal. For operations such as "COS", you will
notice a little letter to the right of the button, which in this case is "T".
Pressing the 'T' key on your keyboard will execute the cosine operation. To
execute the arccosine operation, you will just hit Shift+T instead. This
doesn't mean that the mouse isn't supported, clicking on the "ACOS" text will
also perform the operation.
Contents
Data Entry
Binary, Octal, Hexidecimal Numbers
Hex values can be entered using the standard #nnh format:
Or you can use C/C++ style values using the 0x prefix:
Other base identifiers are specified using this syntax:
Operations on complex numbers are also supported. To enter in a complex
value, enclose both the real and imaginary parts in parentheses. For example
2 + 3i is entered as
You can then use the normal operators on this value as if it were a number.
Contents
Expressions
Expressions, equations, etc. are entered using the single quote character.
Contents
Text
Textual characters can be entered either by toggling the 'alpha' key (Ctrl)
or by typing directly into the edit box in the display. If you do type
directly into the edit box, just click outside of the window to return to
normal function-key entry.
Contents
Constants
The following constants can be used in equations or operations:
To graph an equation, place the expression on the stack. The variable 'x'
is used as the placeholder for the function's x-axis. Then hit
the "DRAW" button from the PLOT menu. For example, given this
equation. We will generate the graph below.
After pulling an equation off the stack, it is automatically stored
in the local variable named "EQ" which can be found or retrieved later from
the VAR menu.
Note that when the function is evaluated for the graph, it is interpreted via
the JavaScript engine, so operators and precedence follows the JavaScript
language. For example, x² would be entered as 'x*x' or
'pow(x, 2)'.
Contents
Keys
Row 1: A - F
Button
Key
Description
A - F
Executes the menu function identified above the button. You can
also click the menu name in the display portion of the calculator
to execute that option.
Takes a name (1:) and a value (2:) off the stack and stores them into a variable file. Access your stored variables from the "VAR" menu.
O
Evaluates the top expression and pushes the result. NOTE: as a deviation from typical HP48 behavior, this operation actually executes the expression as JavaScript code.
Shift+O
Repeats the last operation. For example, "2 2 * <RPT>" results in the equivalent operation of 2*2*2 as the last operation ("2*") is repeated. Note that this is a deviation from the "→NUM" functionality on real HP48 calculators, "EVAL" doubles as the "→NUM" operator.
Alt+O
Undoes the last operation, restoring the stack to the previous state.
Q or Down Arrow
Takes the value off the top of the stack and places it into the editor field.
Pressing the Control key will toggle alpha entry on and off. With alpha entry enabled, pressing A - Z on the keyboard will enter those characters into the editor and not execute the associated operations.
Esc
Aborts the current operation or clears the editor field.