|
Extra Functions are functions and operations not available on the original HP-25.
They may not be entered from the calculator's keyboard.
Instead, they are accessed by double-tapping the display and selecting from a list.
To add an Extra Function to a program in PRGM mode:
|
|
1. Go to the step after which the function should be inserted.
2. Double-tap the display. |
|
|
|
|
|
3. Find the desired function.
4. Set the argument, if applicable.
5. Double-tap to insert it. Or tap Insert.
➞ The previous content will be pushed down one step.
Alternatively, tap Replace to simply replace the current step.
|
|
|
|
|
|
The function is now part of the program.
|
To execute an Extra Function in RUN mode:
1. Double-tap the display.
2. Find the desired function.
3. Double-tap to execute it. Or tap Execute.
List of Extra Functions
NOTES
• The descriptions below may be called up directly from RPN-25 CE by tapping the "– Details –" button.
• The default value for functions requiring an argument (like FS? n or STO nn or RCL+N)
is the x value currently displayed in RUN mode.
• Only the positive integer part of x is used, reduced to the valid range, if necessary.
Once inside the Extra Functions list, you may, of course, change the value as desired.
• Return to the top of the list by clicking any of the gray title bars below.
STACK | REGISTERS |
FLAGS | SYSTEM |
UTILITIES | MATH |
STATISTICS | COMPLEX NUMBERS |
CONSTANTS | UNITS
|
COMPARISONS |
x>y x>0 x≤y x≤0
Executes the next step if the condition is true.
Otherwise the next step is ignored. |
|
x≈y x≈0 ("x almost equal")
Executes the next step if x is closer to y or 0 than 2E-9.
Otherwise the next step is ignored. |
To replace a very small result with 0:
x≈0 CLRX
CLRX is used in place of CLx to prevent disabling automatic stack lift. |
x<NN x≤NN x=NN
x≠NN x≥NN x>NN
Executes the next step if the condition is true.
Otherwise the next step is ignored. |
NN = register nn, where nn is the value in Y.
Sign and fractional part of y ignored. Values > 99 produce an error.
|
x<Rnn x=Rnn x>nn
Executes the next step if the condition is true.
Otherwise the next step is ignored. |
Rnn = any register in the range nn = 0..99 |
BASE? b
Executes the next step if the positive integer part of x represents a valid number in base b. (b = 2…9)
Otherwise the next step is ignored.
If successful, x will be positive, the fractional part set to 0. |
x = 123.456, BASE? 4 returns 123.000.., the next step will be executed.
x = 143.012, BASE? 4 returns 143.012.., the next step will be skipped.
x = –π, BASE? 4 returns 3.000.., the next step will be executed.
x = –2π, BASE? 4 returns -6.283.., the next step will be skipped. |
STACK |
R↑
Rolls the stack up
|
|
CLRX
Clears the stack register X without disabling automatic
stack lift. |
See x≈y x≈0 above for a usage example. |
STO N STO–N STO+N STO×N STO÷N
RCL N RCL–N RCL+N RCL×N RCL÷N
Stack arithmetic between X and any stack register N, incl. LastX
(To specify N: see NOTE at the top of this table.) |
N: 0 = LastX
1 = X 2 = Y 3 = Z 4 = T
Note that STO operations involving X do not save x in LASTx.
Tip: RCL X duplicates x without disabling automatic stack lift (as opposed to ENTER). |
STi N STi–N STi+N STi×N STi÷N
RCi N RCi–N RCi+N RCi×N RCi÷N
Indirect register arithmetic between X and any register addressed by stack register N, incl. LastX
(To specify N: see NOTE at the top of this table.) |
N: 5 = LastX
6 = X 7 = Y 8 = Z 9 = T
Example: 25 π STi+Y would add π to the value in R25
|
ISG N
Increment the value in stack register N by a given increment (default 1.) If the value becomes greater
than a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page.
(To specify N: see NOTE at the top of this table.) |
N: 0 = LastX
1 = X 2 = Y 3 = Z 4 = T
Example: 25 STO Z ISG Z
would increment and test the value in Z
|
ISGi N
Increment the value in the register nn (0..99) defined by the value in stack register N
by a given increment (default 1.) If the value becomes greater
than a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page.
(To specify N: see NOTE at the top of this table.) |
N: 5 = LastX
6 = X 7 = Y 8 = Z 9 = T
Example: 25 STO Z ISGi Z
would increment and test the value in R25
|
DSE N
Decrement the value in stack register N by a given increment (default 1.) If the value becomes equal to a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page.
(To specify N: see NOTE at the top of this table.) |
N: 0 = LastX
1 = X 2 = Y 3 = Z 4 = T
Example: 25 STO Z DSE Z
would decrement and test the value in Z
|
DSEi N
Decrement the value in the register nn (0..99) defined by the value in stack register N
by a given increment (default 1.) If the value becomes equal to a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page.
(To specify N: see NOTE at the top of this table.) |
N: 5 = LastX
6 = X 7 = Y 8 = Z 9 = T
Example: 25 STO Z DSEi Z
would decrement and test the value in R25
|
VIEW N
Show the stack register N while a program is running.
Resuming a stopped program by pressing R/S will restore the regular display.
|
N: 0 = LastX
1 = X 2 = Y 3 = Z 4 = T
The stack register's name and its current value are shown on the display.
The stack remains unaffected. To restore the regular display:
- Execute the instruction CLD (Clear Display) in a program. OR
- If the program is not running: tap the display or execute any key. |
VIEWi N
While a program is running, show the register nn (0..99) defined by the value in stack register N.
Resuming a stopped program by pressing R/S will restore the regular display.
|
N: 5 = LastX
6 = X 7 = Y 8 = Z 9 = T
The name of the stack register N and the name of the register addressed by N are shown along with register's content.
The stack remains unaffected. To restore the regular display:
– Execute the instruction CLD (Clear Display) in a program. OR
– If the program is not running: tap the display or execute any key. |
x≷N
Swap x with any stack register N, incl. LastX
(To specify N: see NOTE at the top of this table.) |
N: 0 = LastX
1 = X 2 = Y 3 = Z 4 = T
Example: x≷Z would swap x with the value in Z
|
xi≷N
Swap x indirectly with any register addressed by stack register N, incl. LastX
(To specify N: see NOTE at the top of this table.)
|
N: 5 = LastX
6 = X 7 = Y 8 = Z 9 = T
Example: 25 STO Z xi≷Z would swap x with the value in R25
|
Y≷T
Swaps y and t |
Before After
T: 4 2
Z: 3 3
Y: 2 4
X: 1 1
|
Y≷Z
Swaps y and z |
Before After
T: 4 4
Z: 3 2
Y: 2 3
X: 1 1
|
Z≷T
Swaps z and t |
Before After
T: 4 3
Z: 3 4
Y: 2 2
X: 1 1
|
XY≷ZT
Swap x,y with z,t. |
Before After
T: 4 2
Z: 3 1
Y: 2 4
X: 1 3
|
XY→ZT
Copy x and y into Z and T, respectively. |
Before After
T: 4 2
Z: 3 1
Y: 2 2
X: 1 1
|
Y→ZT
Copy y into Z and T. |
Before After
T: 4 2
Z: 3 2
Y: 2 2
X: 1 1
|
Z→X
Moves z to X, rolling x and y up. |
Before After
T: 4 4
Z: 3 2
Y: 2 1
X: 1 3
|
Y→T
Copy y into T. |
Before After
T: 4 2
Z: 3 3
Y: 2 2
X: 1 1
|
Z→T
Copy z into T. |
Before After
T: 4 3
Z: 3 3
Y: 2 2
X: 1 1
|
DEL Y
Removes y and lowers the part of the stack above X |
Before After
T: 4 4
Z: 3 4
Y: 2 3
X: 1 1
|
DEL Z
Removes z and copies t to Z. |
Before After
T: 4 4
Z: 3 4
Y: 2 2
X: 1 1
|
STO YZT
Stores stack registers Y, Z, and T in a temporary storage. |
STO YZT, along with RCL YZT, allow any calculation to be performed
on the value in X without disturbing the other stack registers. |
RCL YZT
Retrieves stack registers Y, Z, and T from temporary storage. |
The temporary storage gets cleared on self-check (STO ENTER). |
PUSH STK
Saves entire stack on a 4-level "stack of stacks" |
Both CLEAR REG and f REG remove all pushed stacks. |
POP STK
Copies the latest PUSHed stack to the regular stack and drops the "stack of stacks". |
The oldest entry is copied down to level 3 (like T to Z on the regular stack.)
If the "stack of stack" is empty, POP STK clears the regular stack.
Both CLEAR REG and f REG remove all pushed stacks. |
REV STK
Reverses stack order |
|
SHOW STK and HIDE STK
Shows or hides the stack in the display area. |
|
REGISTERS |
STO nn
Store x directly in the register nn.
|
nn = 0..99
|
STO<op>nn
Direct register arithmetic between x and any register nn. |
nn = 0..99
<op> = – + × ÷ |
RCL nn
Recall directly to x the value in register nn. |
nn = 0..99 |
RCL<op>nn
Direct register arithmetic between any register nn and x. |
nn = 0..99
<op> = – + × ÷ |
STi nn
Store x indirectly in the register defined by the value in register nn. |
nn = 0..99 (also range of target register) |
STi<op>nn
Indirect register arithmetic between x and the register defined by the value in register nn. |
nn = 0..99
<op> = – + × ÷ |
RCi nn
Recall indirectly from the register defined by the value in register nn. |
nn = 0..99 (also range of target register) |
RCi<op>nn
Indirect register arithmetic between the register defined by the value in register nn and x. |
nn = 0..99
<op> = – + × ÷ |
x≷ nn
Exchange x with the value in register nn. |
nn = 0..99 |
xi≷ nn
Exchange x indirectly with the register defined by the value in register nn. |
nn = 0..99 |
xi≷yi
Swap registers defined in X and Y. |
Range: 0..99 |
ISG nn
Increment the value in register nn by a given increment (default 1.) If the value becomes greater
than a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page. |
nn = 0..99 |
DSE nn
Decrement the value in register nn by a given increment (default 1.) If the value becomes equal
to a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page. |
nn = 0..99 |
ISGi nn
Increment the value of the register defined in register nn by a given increment (default 1.) If the value becomes greater
than a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page. |
nn = 0..99 |
DSEi nn
Decrement the value of the register defined in register nn by a given increment (default 1.) If the value becomes equal
to a given limit (default 0), skip the next program step.
For details, see the right column at the top of this page. |
nn = 0..99 |
VIEW nn
Show register nn while a program is running.
Resuming a stopped program by pressing R/S will restore the regular display.
|
The register's name and its current value are shown on the display.
The stack remains unaffected. To restore the regular display:
- Execute the instruction CLD (Clear Display) in a program.
OR
- If the program is not running: tap the display or execute any key.
|
P→S
Copy primary registers R0..R9 to secondary registers R.0..R.9.
|
|
P≷S
Swap primary registers R0..R9 with secondary registers R.0..R.9.
|
|
CLR ALL
Clear all registers R00..R99.
|
Also clears flags F2 and F3 (except if F41 is set),
as well any saved stack (see PUSH STK above.) |
CLR EXT
Clear extended registers R20..R99.
|
Note: R00..R19 may be cleared by the standard instruction f REG. |
CLRGX
Clear a range of registers with an optional increment argument.
See notes about flag 41 here.
|
If register X contains bb.eeii,
all registers from Rbb to Ree will be set to 0.
ii is the increment value.
If larger than 1, only every iith register will be cleared.
If ii = 0 or not specified, it is set to 1.
Rbb is always cleared, irrespective of the other parameters.
Rbb may be larger than Ree. |
REGSET
Set a range of registers to value y with an optional increment argument.
See notes about flag 41 here.
|
If register X contains bb.eeii,
all registers from Rbb to Ree will be set to y.
ii is the increment value.
If larger than 1, only every iith register will be cleared.
If ii = 0 or not specified, it is set to 1.
Rbb is always set, irrespective of the other parameters.
Rbb may be larger than Ree. |
REGCOPY
Copy a range of registers to a different location.
See notes about flag 41 here.
|
If register X contains ss.ddnn,
then nn registers will be copied from Rss to Rdd.
Source and destination ranges may overlap.
The operation is stopped prematurely if either the source or the destination location exceeds R99.
(REGCOPY is the same as REGMOVE on the HP-41.)
|
REGSWAP
Swap the contents of two ranges of registers.
See notes about flag 41 here.
|
If register X contains
ss.ddnn,
then nn registers from Rss will be swapped with those at Rdd.
The operation is stopped prematurely if either the source or the destination location exceeds R99.
|
REGSORT
Sorts any range of registers in ascending or descending order.
See notes about flag 41 here.
|
If register X contains
bb.ees,
then the range of registers Rbb to Ree will be sorted.
If s is omitted or 0, the sort order is ascending, otherwise descending. |
FILL RAN#
Fills registers Rbb..Ree with random numbers R# in the range -y <
R# < +y. If y = 0, then y = 1 is assumed. |
x = 21.3, y = 10
Registers R21 to R30 will be filled with random numbers from -9.9999.. to +9.9999. |
REGS
Show the Register View (primary and secondary registers) |
Note that you can run/stop or single-step a program in Register View.
(Tap the ? to see how.)
R.9 is shown formatted for easy identifying the loop control parts.
|
REGS ALL
Show the Extended Register View (registers R00..R99) |
When the Extended Register View is already visible,
executing REGS ALL will refresh the view.
You can run/stop a program in the Extended Register View.
A dot before the register number means that the same-numbered flag is set. |
STi
(Imported from RPN-32 only. Use STi 09 instead.)
Store x indirectly in the register defined by the integer part of R.9 (range: 0..99). |
Since R.9 is used as register address, looping through a range of registers is possible via the ISG and DSE commands.
After import from RPN-32, the instruction is automatically converted to STi 09. |
RCi
(Imported from RPN-32 only. Use RCi 09 instead.)
Recall indirectly to x the value in the register defined by the integer part of R.9 (range: 0..99). |
Since R.9 is used as register address, looping through a range of registers is possible via the ISG and DSE commands.
After import from RPN-32, the instruction is automatically converted to RCi 09. |
x≷i
(Deprecated. Use xi≷ 09 instead.)
Exchange x indirectly with the value in the register defined by the integer part of R.9. |
The accepted range is 0..99. |
FLAGS |
SF nn
Sets flag nn |
Set flags in the range F00..F09 may appear in the display (see instruction FLAGDISP.)
They also appear as highlighted register numbers in Register View.
In addition, all set flags are identified by a dot in Extended Register View.
Note that F03 is automatically set when entering a number.
F03 is cleared by: testing, g RTN (by user), f PRGM, GTO 00, switching RUN/PRGM. |
CF nn
Clears flag nn |
|
FS? nn
Executes the next step if flag nn is set. Otherwise the next step is skipped. nn = 00..99.
|
Note that F02 and F03 are automatically cleared by this test (if flag 41 is not set.) |
FC? nn
Executes the next step if flag nn is cleared. Otherwise the next step is skipped. nn= 00..99.
|
|
FS?C nn
Clears the flag nn and executes the next step if it was set. Otherwise the next step is skipped.
nn = 00..99.
|
|
FC?S/C nn
If flag 41 is cleared: Sets the flag nn and executes the next step if it was cleared. Otherwise the next step is skipped.
If flag 41 is set: Clears the flag nn and executes the next step if it was already cleared. Otherwise the next step is skipped.
nn = 00..99. |
(was FC?S nn before version 5.0)
If flag 41 is cleared, this command acts like FC?S nn.
If flag 41 is set, this command acts like the HP-41's command FC?C nn. |
TOGF nn
Toggles the flag nn from cleared to set and vice versa. nn = 00..99. |
Note:
TOGF nn is equivalent to the sequence FC?C nn, SF nn on the HP-41. |
STFLAGS f
Stores an integer number n as a group of 32 flags.
n = 0..4,294,967,295 = 232-1, group f = 0..3.
f = 0: flags 0..31, f = 1: flags 32..63,
f = 2: flags 64..95, f = 3: flags 96..99
Group 3 contains 4 flags (F96-F99), for a total of 3×32+4 = 100 flags.
|
To set flags 7, 11, 23: n = 27 + 211 + 223 = 8,390,784 STFLAGS 0
To clear flag 11 later: RCLFLAGS 0, subtract 211 = 8,388,736 STFLAGS 0
Now set flag 70 (70–64 = flag 6 in group 2): 26 STFLAGS 3
To test: execute FS? 70 BEEP.
(You should hear the beep.) |
RCFLAGS f
Recalls a group of 32 flags as an integer number n.
n = 0..4,294,967,295 = 232-1, group f = 0..3.
Group 3 contains 4 flags (F96-F99), for a total of 3×32+4 = 100 flags.
|
Check if only every 5th flag up to F30 set, i.e. F0, F5, F10, ..., F25, F30:
Find the corresponding number n:
CLx STO 0 .03005 STO X LBL 10 2 RCL Y
INT yx STO+0 R↓ ISG X GTO 10 RCL 0
Thus, n = 1,108,378,657. Execute STFLAGS 0 to set the flags.
Execute RCFLAGS 0 and compare with n to check if the flags are still set.
Clear F20 (CF 20) and execute RCFLAGS 0: x = 1,107,330,081.
Subtract from n: 1,048,576. Get log2 (2 x≷y LOGy): 20 (F20 got cleared) |
CFLAGS
Clears all flags F00…F99 except F41.
To clear F41, execute CF 41, or turn power off.
CFLAGS also ends
flag indirection mode (see CFInd below). |
If F41 is cleared:
F3 is set on numeric input, cleared on test.
f REG, CLR ALL clear flags F2 and F3
g RTN (entered by the user) clears flag F3.
Flags F2 and F3 are automatically cleared on testing (FS? 02, FS? 03).
If F41 is set:
F22 is set on numeric input, cleared on test.
f REG, CLR ALL do not affect flags F2 and F3
F3, if set, is shown on the display.
g RTN (entered by the user) clears flag F22.
Flag F22 is automatically cleared on testing (FS? 22).
|
CF0to9
Clears flags F0 to F9, leaving the remaining 90 flags unmodified. |
|
SFi N, CFi N, FS?i N
Sets, clears, tests flag defined in stack register N (direct),
or in the register addressed by stack register N (indirect.) |
With X containing 33:
CFi X would clear flag 33.
CFi iX would clear the flag defined in register 33. |
SFInd
Sets flag indirection mode. Addressing any flag nn will use the content of register nn. |
The content of Rnn is reduced to the range 00..99.
To set a random flag nn:
EEX 2 RAND STO 0 SFInd SF 00
Clearing all flags with CFLAGS resets flag indirection. |
CFInd
Clears flag indirection mode. Flags will be addressed directly by nn. |
Clearing all flags with CFLAGS also clears flag indirection. |
ST41, RC41
Stores the state of flag 41, or restores the flag 41 from the saved state. |
Mainly used in subroutines where the state of flag 41 of the calling routine should be preserved. |
HIDE41, SHOW41
Visibility of flag 41 on display. |
HIDE41 hides the flag 41 indicator, even if it is set.
SHOW41 allows the indicator to appear at the bottom right of the display, if it is set.
|
FLAG VIS
Shows set flags in the range 0 to x in the display. Max. x = 9 (or 19 – see comment at right.)
The default value is 2 (i.e. showing flags F0, F1, F2).
Entering an illegal argument, e.g. -1, prevents all flags from appearing. They still appear as highlighted register numbers in the register view, though. |
Special case: F3, which is set by any numeric keyboard input.
To avoid seeing F3 most of the time (if x > 2), add 10 to x. In this case, F3 appears only while a number entry is in progress.
Note that F3 is treated like any other flag when the HP-41 compatibility flag 41 is set. |
SYSTEM |
// text (program comments)
Shows user-defined Text in the program listing.
The command has no effect on program execution.
The length of Text may be up to 30 characters. |
Details
Useful for program comments and notes. |
_LBL nn
Defines a symbolic label |
nn = 0..99 |
_GTO nn
Sets the step number to the location of symbolic label nn |
nn = 0..99
Error "Label not found" if LBL nn does not exist. |
_GSB nn
Executes the program steps at the location of symbolic label nn |
nn = 0..99
A RTN instruction will continue execution at the location following GSB.
Error "Label not found" if LBL nn does not exist. |
_GTOi nn
Sets the step number to the location of the symbolic label stored in register nn |
nn = 0..99 (also for symbolic label)
Error "Label not found" if the label specified in Rnn does not exist. |
_GSBi nn
Executes the program steps at the location of the symbolic label stored in register nn |
nn = 0..99 (also for symbolic label)
A RTN instruction will continue execution at the location following GSB.
Error "Label not found" if the label specified in Rnn does not exist. |
_GTOi N
Sets the step number to the location of the symbolic label nn stored in stack N (direct)
– or –
stored in the register addressed by stack N (indirect) |
N = 0..4 (L, X, Y, Z, T): direct
N = 5..9 (iL, iX, iY, iZ, iT): indirect
nn = 0..99 (symbolic label)
Error "Label not found" if the specified label does not exist. |
_GSBi N
Executes the steps at the location of the symbolic label nn stored in stack N (direct)
– or –
at the location stored in the register addressed by stack N (indirect) |
N = 0..4 (L, X, Y, Z, T): direct
N = 5..9 (iL, iX, iY, iZ, iT): indirect
nn = 0..99 (symbolic label)
Error "Label not found" if the specified label does not exist. |
MSG text
Puts the message text right below the display.
The color is dark yellow.
The length of text may be up to 36 characters. |
Details
Pressing any key removes the message.
|
MSGP text
Puts the message text right below the display, then executes PAUSE.
The color is green (like the PAUSE command.)
The length of text may be up to 36 characters. |
Details
While pausing, pressing any key – except a numeric input –
removes the message and ends program execution.
Each keypress of the numeric input extends the pause.
The current value in X will be overwritten, not pushed on the stack.
To check if user entered a value: test if flag 3 is set (flag 22 if flag 41 is set).
Pressing ENTER continues program execution immediately. |
MSGS text
Puts the message text right below the display, then stops program execution.
The color is dark yellow.
The length of text may be up to 36 characters. |
Details
Pressing any key removes the message.
|
USR1...USR5 text
These commands create evenly-spaced user keys above the display.
Tutorial (US) | Tutorial (A4)
Key 1 will be at the left, key 5 at the right.
text defines the key legend (max. 6 characters).
Tapping keys 1 to 5 will call subroutines _LBL91 to _LBL95, respectively.
If the prefix key f is active, subroutines _LBL81 to _LBL85 will be called.
If the prefix key g is active, subroutines _LBL71 to _LBL75 will be called.
Key legends for the shifted cases must be separated by a semicolon.
A key without text, or with a single underscore ("_") only, will be ignored.
In the Program Listing:
Double-tap a USRn instruction to find the corresponding
LBL 9n instruction.
Double-tap a LBL mn instruction to (m=7…9, n=1…5)
to find the corresponding USRn instruction.
|
Example:
USR3:√(x+1) GTO 000 _LBL 93 1 + f 2 RTN
Running this program will show a single user key, centered above the display.
Tapping the key will compute √(x+1) by executing LBL 93.
|
USR1i...USR5i text
These commands work like USR1 to USR5 above, except that subroutines will be called indirectly:
Tapping keys 1 to 5 will call the subroutines whose number is stored in register R91 to R95, respectively.
If the prefix key f is active, the subroutines whose number is stored in registers R81 to R85 will be called.
If the prefix key g is active, the subroutines whose number is stored in registers R71 to R75 will be called.
|
Example:
USR3i:√(x+1) 22 STO 93 CLx GTO 000 _LBL 22 1 + f 2 RTN
Running this program will show a single user key, centered above the display.
Tapping the key will compute √(x+1) by executing LBL 22, as defined by the content of register 93.
|
USR CLR
Clears all user-defined keys. |
Automatically called when the power switch is set to OFF. |
BACK s
Go back s program steps. Going back to step 000 or beyond will stop the program. |
s = 1..9
|
SKIP n
Ignore the next n program steps. Skipping beyond available program memory is treated as GTO 00. |
n = 0..9
SKIP 1 performs a regular skip operation (1 step).
SKIP 0 may be used as NOP operation.
|
BEEP
Notification sound |
Recommended to signal that the program requires the user's attention. |
DONE
Completion sound |
Recommended to signal that a result is available. |
OH-NO
Error sound |
Recommended to signal an error or failure situation. |
SND nn
Plays the sound numbered nn. (nn = 0..99)
Sounds 70..85: dial tones of DTMF telephone. |
Sounds 70..85 produce the dialing tones of a DTMF telephone set:
70..79 = keys 0..9
80 = A, 81 = B, 82 = C, 83 = D
84 = *, 85 = #
|
SNDi nn
Plays the sound ss stored in register nn.
ss: remainder of dividing by 100 the positive integer part of the stored value.
Sounds 70..85: dial tones of DTMF telephone (see SND nn above.) |
Sample program using R19 to play all sounds (set PAUSE to 2 or more secs):
01 .1
02 STO .9
03 LBL 03
04 VIEW 19
05 SNDi 19
06 DELAY
07 ISG
08 GTO 03
|
CLOCK
Displays a real-time clock formatted as hh:mm:ss
|
x = 1: 12-hr clock with am/pm indicator. Same as tapping f <PRGM/RUN>.
x = 2: 24-hr clock. Same as tapping g <PRGM/RUN>.
x = any other value: turn clock off.
|
SEC
Returns in X the number of seconds since midnight. |
|
TIME
Returns in X the 24-hr time (hours, minutes, secs, 1/1000 secs), formatted as hh.mmssSSS |
To measure program execution time in secs.ms:
TIME CHS STO.8 {execute program}
TIME RCL.8 H.MS+ EEX 4 ×
|
H.MS+
Adds hours, minutes, seconds – or degrees, minutes, seconds – in Y to those in X.
|
|
DATE
Current date (month, day, year), formatted as mm.ddyyyy |
If high-contrast mode is on, localized weekday and date are shown as text, except if x = 0.
|
DATE+
Adds the number of days represented by the integer part of the value in X to the date in Y.
|
If Y = 0 and X is in the range 1583 – 4099, the Easter date of the year in X is shown.
Add 49 to the Easter date (49 DATE+) to get the date of Pentecost.
The range of dates is Jan 1, 0001 through Dec 31, 9999.
Dates before Oct 15, 1582 are Julian and are shown as negative dates.
Negative date inputs are treated as Julian dates.
|
∆DAYS
Calculates the number of days between the date in Y and the date in X |
The result is positive if Y is the earlier date. |
JDN
Returns the Julian Day Number of the date in X at the time specified in Y.
Invalid values for date and time are replaced by their current values.
An integer Julian Day number corresponds to noon. |
The JDN of the first release of RPN-25 CE is 2459095.
-1 ENTER JDN returns the current Julian Day Number.
Negative dates are treated as Julian dates.
|
DY2000
Returns number of days between Jan 1, 2000 and the date in X |
RPN-25 CE was first released on the 7555th day of the 21st century. |
DOW
Returns the day of the week (1 = Monday, ..., 7 = Sunday) of the Gregorian date in X, formatted as mm.ddyyyy.
Date range:
Friday, Oct 15, 1582 to Friday, Dec 31, 9999
(x = 10.151582 to 12.319999)
If the date is invalid, the current date is used (available in T) and the LED display, if currently active, shows the day of the week as a negative value. |
x = ISO 8601 number of the day of the week
(1 = Mon, 2 = Tue, 3 = Wed, 4 = Thu, 5 = Fri, 6 = Sat, 7 = Sun)
y = day number of the year (1…366)
z = week number of the year (1…53)
(-52 or -53 if the date belongs to the preceding (week-based) year)
(-1 if the date belongs to the following (week-based) year)
t = current date (set only if invalid date specified)
|
M.DY→Y.MD, M.DY→D.MY, Y.MD→D.MY,
Y.MD→M.DY, D.MY→M.DY, D.MY→Y.MD
Converts between various date formats. No change if x = 0. |
D = day (1..31), M = month (1..12), Y = year (0..9999)
Format: Insert a decimal point after the first item. The second item must occupy two digits.
Examples: March 6, 2022 = 3.062022 (M.DY) = 2022.0306 (Y.MD) etc. |
GET SEPS
Returns in X the current thousands separators setting.
SET SEPS
Sets the thousands separators setting to the value in X.. |
Valid thousands separators settings:
0 = no separators
1 = separators used
Any non-zero value of x will turn seprators on. |
GET PSE
Returns in X the current PAUSE setting.
SET PSE
Sets the PAUSE setting to the integer part of the value in X. Ignored if the value is invalid.
To change the pause length temporarily without affecting the value defined in Settings, use PSE LEN. |
Valid PAUSE settings:
0 = no pause
1 = 1 second
2 = 2 seconds
3 = 5 seconds |
PSE LEN
Extended pause length.
Sets pause length in integer seconds used by the PAUSE instruction to any value 0 < |x| ≤ 86,400 seconds.
The value x = 0 restores the standard pause length defined in Settings.
Seconds remaining are shown in the status display. You may provide your own text instead
by initiating the pause using a MSGP instruction in place of the PAUSE instruction.
If x < 0, the last 10 seconds are counted down with sound. |
An extended pause in progress does not fade the PAUSE message.
The pause may be ended by pressing any key.
If ending the pause in a running program, the program stops.
Exceptions: number keys, decimal point, CHS, EEX. These keys will cause the pause to repeat after it ends,
giving the user a chance to input a number value while pausing.
If such a number input is followed by ENTER, the paused program will resume running. |
DELAY
Same as PAUSE, but without showing the PAUSE message. |
Unlike PAUSE, typing number keys, decimal point, CHS, and EEX will not prolong the delay.
However, ending the delay with ENTER will not stop a running program. |
ERROR nn
Halts program execution and displays Error.
nn defines a status message shown below the display.
nn+10 accompanies the message with an error sound.
ERROR 99 rapidly blinks the display 3 times. No message is shown. |
Available messages:
00 (blank) 05 x too small
01 x = 0 not allowed 06 x too large
02 y = 0 not allowed 07 |x| must be ≤ 1
03 x must be ≥ 0 08 x has become negative
04 x must be integer 09 Limit exceeded
|
DSM STO / DSM RCL
Stores and recalls the display settings (FIX/SCI/ENG, no. of digits) |
Executing DSM RCL without prior DSM STO will set the default FIX 2. |
SPEC DSP
Produces special display patterns according to the integer part of X.
Tapping any key, or using an invalid value x returns to the normal display. |
X values:
0 or illegal value = normal display
1 = blanked display
2 = display filled with "–" (minus signs)
3 = display filled with "o"
4 = display filled with "." (points)
If high-contrast display is on:
5..25 show additional patterns (rendered as points when switching to LED display)
|
STEP VIS
Controls the visibility and mode of the program step indicator
below the display (at left) according to the value in X.
Note that the visibility may also be changed by tapping the location of the step indicator,
while the mode may be changed by long-pressing the indicator. |
X values:
0 = step indicator is hidden
1 = step indicator is shown
2 = step indicator is shown along with the previous step in brackets |
CLD
Clears any display created by the VIEW instruction and restores the regular display. |
Same as tapping the display in interactive mode. |
END
Ends program execution without returning to step 0. |
Pressing SST or R/S after reaching END has no effect. |
PRGM
Switches calculator to PRGM mode. |
The step following PRGM is shown, allowing the user to modify the program at this point.
A typical case is changing a user-defined function. |
UTILITIES |
→DEG
Converts radians to decimal degrees |
|
x+1
Increments x by 1 |
Useful in tests like "IF condition = true THEN increment x" since only one step is required.
(Same as INCR in previous versions.) |
x–1
Decrements x by 1 |
Useful in tests like "IF condition = true THEN decrement x" since only one step is required.
(Same as DECR in previous versions.) |
MIN
Compares x and y and puts the smaller value into X, the larger into Y |
|
MAX
Compares x and y and puts the larger value into X, the smaller into Y |
|
SGN
Replaces x by: -1 if x < 0, 0 if x = 0, +1 if x > 0 |
Mathematical signum function. |
SIGN
Replaces x by: -1 if x < 0, +1 if x ≥ 0 |
HP-41 convention |
ODD
Returns 1 if INT(x) is odd, 0 otherwise
|
|
DIV
Returns in X the integer value of y/x, in Y the remainder. |
|
MOD
Returns the remainder of y/x with the sign of x.
x=0: if flag 41 is set, y is returned, otherwise a division by zero error occurs. |
456 MOD 123 = 87 -456 MOD 123 = 36 456 MOD -123 = -36 -456 MOD -123 = -87
|
RATIO
Converts x to a close rational y/x, with numerator and denominator limited to y (1E6 if y = 0 or non-integer).
|
y = 1000, x = π: RATIO = 355/113
y = 1E5, x = e: RATIO = 49171/18089 |
EXP/MANT
Returns in X the mantissa, in Y the exponent of x.
|
|
CHG MAG
Changes the magnitude of y by x: if y is positive, then x is added, otherwise subtracted from y. |
y = 5, x = 3: CHG MAG = 8 y = -5, x = 3: CHG MAG = -8 |
ROUND n
Rounds x to n fractional digits. (n = 0..9) |
Same as executing FIX/SCI/ENG n followed by RND, but without disturbing the current setting.
If x = -6.78, ROUND 0 = -7. If x = -6.18, ROUND 0 = -6
If x = +6.78, ROUND 0 = 7. If x = +6.18, ROUND 0 = 6
|
FLOOR
Rounds x down towards negative infinity. |
FLOOR(-6.78) = -7, FLOOR(-6.18) = -7
FLOOR(+6.78) = 6, FLOOR(+6.18) = 6 |
CEIL
Rounds x up towards positive infinity. |
CEIL(-6.78) = -6, CEIL(-6.18) = -6
CEIL(+6.78) = 7, CEIL(+6.18) = 7 |
CHOP
Returns 0 if the absolute value of x is less than 5E-10. Useful for eliminating floating-point representation errors. |
|
NUM2DIGS nn
Decomposes x into individual digits, disregarding the sign and the decimal point.
The digits are stored, least-significant digit first, at registers Rnn, Rnn+1, .., Rnn+9. |
|
DIGS2NUM nn
Builds a number from individual digits stored Rnn (least-significant) up to Rnn+9.
Numbers with more than one digit, or negative numbers, are read as "0". |
|
MATH |
SINH COSH TANH
Calculates the hyperbolic sine, cosine, or tangent.
|
sinh 3.2 = 12.25, cosh 3.2 = 12.29, tanh 3.2 = 1.00 |
SINH-1 COSH-1 TANH-1
Calculates the inverse hyperbolic sine, cosine, or tangent.
|
sinh-1 51.777 = 4.64, cosh-1 51.777 = 4.64 (x≥1), tanh-1 0.777 = 1.04 (-1<x<1) |
∆%
Percent difference between x and base y. |
|
%∑
Percent that x is of ∑x (R7). |
|
%MARKUP
Percentage to add to cost price to make a gross profit of x%. |
To make a profit of 30%, what is the percentage of markup?
Answer: 42.86% |
∛x
Cube root of x.
|
x = any positive or negative real number |
x3
Cube of x.
|
x = any positive or negative real number |
yx{0}
Same as yx, but 00 returns 1 (not error) |
|
LOGy
Logarithm of x to base y.
|
log7 5 = 0.8271 |
LN(x!)
Logarithm of x!, where 0 < x < 4.4673257•1097.
|
Birthday Problem:
Find the probability that in a group of n randomly chosen people at least two will share a birthday (month and day).
P = 1–365!/((365–n)!•365n)
With n = 23, calculate:
P = 1–e^[LN(365!)–LN((365–n)!)–n•LN(365)] = 50.729723%
|
LN(1+x)
High-precision logarithm of x, where x is very close to 0. |
With x = π•10-12:
"LN(1+x)" ➝ 3.141592654•10-12
1 + LN ➝ 3.141709115•10-12
|
ex-1
High-precision antilog of x, where x is very close to 0. |
With x = π•10-12:
"ex-1" ➝ 3.141592654•10-12
ex 1 - ➝ 0.000000000 |
ERF,ERFC
Returns in X the Gauss error function value of x, in Y the complementary error function value. |
ERF(π/2) = 0.9736789251
ERFC(π/2) = 0.02632107492 |
Bernoulli
Evaluates the xth Bernoulli number, where x = pos. integer 0 ≤ x ≤ 117. |
Returns 0 if x is odd and > 1.
Returns -0.5 if x = 1 (by NIST convention)
Bernoulli(4) = -1/30 = -0.0333..., Bernoulli(10) = 5/66 = 0.075757576 |
BesselJ
Evaluates the Bessel function of the 1st kind of order y of x. [x ≥ 0 and y = pos. integer] |
BesselJ(1,π) = 0.2846153432 (order 1)
BesselJ(3,π) = 0.3334583362 (order 3) |
BesselY
Evaluates the Bessel function of the 2nd kind of order y of x. [x > 0 and y = pos. integer] |
BesselY(1,π) = 0.3588729168 (order 1)
BesselY(3,π) = -0.4860704563 (order 3) |
LambertW
Evaluates the Lambert function W in the range [-1/e ≤ x < ∞] for real values x.
|
LambertW is used to solve equations of the form x·ex = y, which has the solution x = W(y).
LambertW(1) = 0.5671 ("omega constant"), i.e. 0.5671·e0.5671 = 1.0000
LambertW(-1/e) = -1 LambertW(0) = 0
LambertW(-1/3) = -0.6191
LambertW(9E99) = 224.7382 |
LambertV
Finds the additional LambertW solution existing in the range [-1/e ≤ x < 0] for real values x.
|
LambertV(-1/e) = -1
LambertV(0) = -∞
LambertV(-1/3) = -5.828
|
Zeta
Evaluates the Riemann zeta function ζ(x), where x ≥ -118.2893468 |
Returns overflow if x = 1, 0 if x = negative even integer.
ζ(2) = π2/6 = 1.6449, ζ(3) = 1.202056903 (Apéry's constant) |
RAN#
Returns a random number 0 ≤ x < 1 |
|
GCD (Greatest Common Divisor)
Finds the largest integer which divides all consecutive positive integers on the stack, beginning at X. Stops at the first non-positive integer. |
GCD(51,119) = 17 GCD(137688,154875,182664) = 177 |
LCM (Least Common Multiple)
Finds the smallest integer that all consecutive positive integers on the stack can divide, beginning at X. Stops at the first non-positive integer. |
LCM(51,119) = 357
LCM(6,7,21,22) = 462 |
PRIME?
Determines if x is a prime number. If yes, flag 0 is set, otherwise flag 0 is cleared.
x integer and ≤ 4,294,967,295 |
Prime numbers: 4567 / 78901 / 2038074743
Largest prime found: 4,294,967,291
Note that the flag 0 appears in the lower left corner of the display, if set.
In addition, it is shown in register view (0: highlighted if set).
To clear the flag, you may apply the test to 0. |
QUAD/CUBE
Solves quadratic and cubic equations
|
Quadratic equation: ax² + bx + c = 0. Arguments: 0 in T, a in Z, b in Y, c in X
Returns: x,y = x₁,x₂ or u,v (if conjugate complex solution, u ± iv), z = discriminant
Cubic equation: ax³ + bx² + cx + d = 0. Arguments: a in T, b in Z, c in Y, d in X
Returns: x,y,z = x₁,x₂,x₃ or x₁,u,v (if type = 1)
t = type of roots (1: one real, two complex; 2: three real, at least two equal; 3: three real and distinct) |
LIN EQ2
Solves system of linear equations in two unknowns:
ax + by = c
dx + ey = f
|
Input values:
a b c = R4 R5 R6
d e f = R1 R2 R3
Example:
7.32x - 9.08y = 3.14
12.39x + 7y = 0.05
Solutions:
x = 0.14, y = -0.24, Det = z = 163.74
|
LIN EQ3
Solves system of linear equations in three unknowns:
a11x+a12y+a13z = b1
a21x+a22y+a23z = b2
a31x+a32y+a33z = b3
|
Input values:
a11 a12 a13 = R7 R8 R9
a21 a22 a23 = R4 R5 R6
a31 a32 a33 = R1 R2 R3
b1 b2 b3 = R.1 R.2 R.3
Example:
3.14x + 10.02y - 7z = 1
0.25x + 30.3y - 9.1z = 2
-3.5x + 27.4y + 8z = 3
Solutions:
x = 0.29, y = 0.11, z = 0.14, Det = t = 1052.86
|
STATISTICS |
L.R.
Linear regression. Computes y-intercept and slope for the linear function approximated by x and y values accumulated using ∑+.
The value of the y-intercept is placed in the X-register; the value of the slope is placed in the Y-register.
|
|
ŷ
Linear estimate. For a set of values accumulated using ∑+, the estimated value of y for a given value of x is returned.
|
|
x̂
Linear estimate. For a set of values accumulated using ∑+, the estimated value of x for a given value of y is returned.
|
|
x̅,y̅
Computes means (averages) of x and y values accumulated using ∑+.
|
|
x̅w,s
Computes weighted mean and standard deviation of x values with frequency y accumulated using ∑+. |
|
r
Correlation coefficient. Computes "goodness of fit" between the x and y values accumulated using ∑+ and
the linear function which they approximate.
|
|
sx,sy
Computes standard deviations of x and y values accumulated using ∑+.
|
|
Q
Computes area under the standard normal distribution curve to the left of x.
|
|
Q-1
Computes x, given the area under the standard normal distribution curve to the left of x.
|
|
∑REGSTD
Sets the beginning of the current statistics data block to the default value (R03).
|
|
∑REG nn
Makes the data block beginning at register Rnn current (up to R93). |
nn = 00...93 (automatically limited if larger) |
∑REG?
Returns in X the first register number nn of the current statistics data block. |
nn = 00...93 |
∑SWAP32
Swaps the current statistics block with the block at the HP-32 standard location (R10-R15).
NOTES
•
On RPN-25, ∑y² and ∑x²y (R8 and R9) are not used if Vintage Mode is On.
• RPN-32 does not use ∑x²y. |
RPN-32 |
RPN-25 |
Value |
R.0 |
R3 |
n |
R.1 |
R7 |
∑x |
R.2 |
R6 |
∑x² |
R.3 |
R4 |
∑y |
R.4 |
R8 |
∑y² |
R.5 |
R5 |
∑xy |
n/a |
R9 |
∑x²y |
|
∑SWAP41 nn
Swaps the current RPN-25 statistics data block with the HP-41-compatible block beginning at Rnn.
NOTES
•
Use nn=11 for the HP-41's default locations
•
On RPN-25, ∑y² and ∑x²y (R8 and R9) are not used if Vintage Mode is On.
• The HP-41 does not use ∑x²y. |
HP-41 |
RPN-25 |
Value |
Rnn+5 |
R3 |
n |
Rnn |
R7 |
∑x |
Rnn+1 |
R6 |
∑x² |
Rnn+2 |
R4 |
∑y |
Rnn+3 |
R8 |
∑y² |
Rnn+4 |
R5 |
∑xy |
n/a |
R9 |
∑x²y |
|
P(y,x)
Permutations of y objects taken x at a time.
|
P(7,5) = 2520
P(y,x) = y!/(y-x)!
For very large but close values of x and y, the function LN(x!) may prove useful. |
C(y,x)
Combinations of y objects taken x at a time (binomial coefficient.).
|
C(7,5) = 21
C(y,x) = y!/(x!(y-x)!) |
COMPLEX NUMBERS |
c_+
Complex add z+it to x+iy |
|
c_-
Complex subtract x+iy from z+it |
|
c_×
Complex multiply x+iy by z+it |
|
c_÷
Complex divide z+it by x+iy |
|
c_ENTER
Copy x+iy to z+it |
|
c_CHS
Complex change sign of x+iy |
|
c_x≷y
Exchange x+iy with z+it |
|
c_R↓
Complex roll down |
|
c_STO n
Complex store x+iy in Rn (n = 0..9) |
To enter the command c_STO 2:
• In RUN mode enter the number 2.
• In PRGM mode select the c_STO n function.
• The function will appear as c_STO 2. |
c_RCL n
Complex recall x+iy from Rn (n = 0..9) |
To enter the command c_RCL 5:
• In RUN mode enter the number 5.
• In PRGM mode select the c_RCL n function.
• The function will appear as c_RCL 5. |
c_LASTx
Complex retrieve x+iy from LastX |
|
c_SGN
Replaces x+iy by: -1+i0 if x < 0, +1+i0 if x ≥ 0, sgn(y)+i0 if x = 0 |
Mathematical complex signum function. |
c_SIGN
Replaces x+iy by: -1+i0 if x < 0, sign(y)+i0 if x = 0, +1+i0 if x > 0 |
|
c_ABS
Complex absolute value of x+iy |
|3+4i| = 5.00 |
c_RND
Complex round to display x+iy |
|
c_LN
Complex ln(x+iy) |
ln(i) = 1.57i |
c_ex
Complex ex+iy |
e1.57i = 1.00i |
c_LOG
Complex log(x+iy) |
log(i) = 0.6822i = π/(2·ln(10)i |
c_10x
Complex 10x+iy |
101.57i = -0.89 -0.46i |
c_LOGz
Complex log(x+iy) to complex base (z+it) |
log(1+i)(1.49+4.13i) = 2.00-1.00i |
c_yx
Complex (z+it)x+iy (where z+it ≠ 0) |
(1+i)2 - i = 1.49+4.13i |
c_1/x
Complex reciprocal of (x+iy) |
1/(2+3i) = 0.15-0.23i |
c_√x
Complex square root of (x+iy) |
√(7+6i) = ±(2.85+1.05i) |
c_x2
Complex square of (x+iy) |
√(7-2i) = 45.00-28.00i |
c_x!
Complex factorial of (x+iy) = Γ(x+1 + iy) |
(7-2i)! = -2368.80+3064.87i
Note: (7-2i)! = Γ(7+1-2i) = Γ(8-2i) |
c_SIN, c_COS, c_TAN
Complex sine, cosine, tangent of (x+iy). All angles in radians. |
sin(2+3i) = 9.15-4.17i cos(2+3i) = -4.19-9.11i tan(2+3i) = -0.004+1.003i |
c_SIN-1, c_COS-1, c_TAN-1
Complex arc sine, arc cosine, arc tangent of (x+iy) |
sin-1(5+8i) = 0.56-2.94i
cos-1(5+8i) = 1.01-2.94i tan-1(5+8i) = 1.51+0.09i |
c_SINH, c_COSH, c_TANH
Complex hyperbolic sine, cosine, tangent of (x+iy) |
sinh(3-2i) =-4.17-9.15i
cosh(1+2i) = -0.64+1.07i
tanh(1+2i) = 1.17-0.24i |
c_SINH-1, c_COSH-1, c_TANH-1
Complex inverse hyperbolic sine, cosine, tangent of (x+iy) |
sinh-1(8-5i) = 2.94-0.56i
cosh-1(5+8i) = 2.94+1.01i
tanh-1(8-5i) = 0.09-1.51i |
CONSTANTS |
Mathematical constants k_γ (Euler-Mascheroni) k_Φ (Golden Ratio)
|
|
Physical constants (CODATA-2018 compliant)
k_Avo (Avogadro) k_e (Elementary charge) k_me (Electron rest mass)
k_mu (Atomic mass) k_G (Gravitational constant) k_Planck (Planck constant)
k_AU (Astronomical Unit)
|
6.02214076e+23 [mol⁻¹] 1.602176634e-19 [C] 9.109383701e-31 [kg]
1.6605390666e-27 [kg]
6.67430-11 [m³kg⁻¹s⁻²]
6.62607015e-34 [J Hz⁻¹]
1.495978707e+11 [m]
|
UNITS |
→in →mm
Converts millimeters to inches, and vice versa |
|
→ft.in →cm
Converts centimeters to feet and inches, and vice versa. Use 2 digits to indicate inches after the decimal point. |
164 cm = 5.0457 = 5'4.57"
5'5" = 5.05' = 165.10 cm |
→ft →m
Converts meters to feet, and vice versa |
|
→ac →m2
Converts square meters to acres, and vice versa |
|
→°F →°C
Converts degrees Celsius to degrees Fahrenheit, and vice versa |
0°C = 32°F, 100°C = 212°F, 37°C = 98.6°F
-460°F = -273.33°C, -40°F = -40°C |
→oz →g
Converts grams to ounces, and vice versa |
|
→lbm →kg
Converts kilograms to pounds (mass), and vice versa |
|
→gal
Converts liters to gallons |
20 liter = 5.28 gal
61.55 gal = 232.99 liter |
→liter (1)
Converts gallons to liters |
20 liter = 5.28 gal
61.55 gal = 232.99 liter |
→bbl
Converts liters to barrels (US, oil) |
500 liter = 3.14 bbl
1 bbl = 158.99 liter |
→liter (2)
Converts barrels (US, oil) to liters |
500 liter = 3.14 bbl
1 bbl = 158.99 liter |
→cup →dl
Converts deciliters to cups (US), and vice versa |
2 dl = 0.85 cups
1.5 cups = 3.55 dl |
→tbs →g (H2O)
Converts grams (water) to tablespoons, and vice versa |
15 g = 1.01 tbs
6 tbs = 88.72 g |
kW→hp hp→kW
Converts kW to mechanical horsepower hp, and vice versa |
350 kW = 469.36 hp
Apply hp→PS to result to get metric horsepower: 475.87 PS
Convert 100 PS into kW: 100 PS→hp hp→kW = 73.55 kW |
PS→hp hp→PS
Converts metric horsepower PS to mechanical horsepower hp, and vice versa |
350 PS = 345.21 hp
Apply result to hp→PS to return to metric horsepower: 350.00 PS
Convert 100 kW into PS: 100 KW→hp hp→kW = 135.96 PS |
gas US gas UK
Express miles per gallon as liters per 100 km, and vice versa. Select US or UK units. |
8.4 liter per 100 km ⇄ 28.00 mpg (US), 28 liter per 100 km ⇄ 8.4 mpg (US)
8.4 liter per 100 km ⇄ 33.63 mpg (UK), 33.63 liter per 100 km ⇄ 8.4 mpg (UK) |
| |