Simple questions for the 50g


1. My TOOL soft key labels are different than those described in the first 2 chapters of the manual. F3 is labeled STACK and there is no STO> label. How do I restore the default labels?

2. Performing a division returns a fraction to the stack. How do I evaluate the fraction to a decimal number?

3. How do I change the timeout of the display?

I am new to the 50g and am trying to use it AND go thru the .PDF manual at he same time. I'm sure I will have many more simple questions.



To answer #2, there are several methods:

1) If one of the numbers is a decimal to begin with, then dividing will result in a decimal, in any mode.

2) In exact mode, you can turn the number on the first level of the stack to a decimal while leaving the mode and everything else the same by tapping the red arrow / right shift, then hitting the Enter (->NUM) key.

3) In exact mode, you can switch to approximate mode (and vice versa) by holding the red arrow / right shift and simultaneously pressing Enter (->NUM). Virtually every further operation in approximate mode will result in a decimal.

If you just so happen to have a result that's not already a decimal and you want to convert it to one (as an example, even in approximate mode, pressing the Pi key will put Pi on the stack symbolically), you can press EVAL to evaluate it to a decimal (or you could just use method 2).


For your #1, it seems that your manual must (unfortunately) be showing the menu for ALG mode, which, as far as I'm concerned, is best avoided.

A few more suggestions for your #2.

  • If a "zint" (arbitrary length exact integer) has more than 12 digits (exclusive of trailing zeros), then converting it to a "real number" (floating point decimal number) rounds it to a decimal approximation with a 12-digit mantissa. If a zint has more than 500 digits (including trailing zeros), then converting it to a real changes it to 9.99999999999E499 or -9.99999999999E499.
  • Any number entered with a "fraction mark" ("decimal point") is always compiled as a real.
  • In approximate mode, entered numbers, even without fraction marks, are always compiled as reals.
  • In exact mode, numbers entered entered with fraction marks are compiled as reals, and numbers without fraction marks are compiled as zints.
  • When "ASCII" ("Text") source code files are downloaded, the same rules for compiling numbers as reals or zints apply. If the file originated on a 49 series or was composed in a text editor for the 49 series, it's usually best to be in exact mode while downloading, to avoid having zints compiled as reals. If the file originated on a 48 series (which doesn't have zints) or was composed in a text editor for the 48 series, it's usually best to be in approximate mode while downloading, to avoid having the reals compiled as zints.
  • When "executing" a character string with the STR\-> or OBJ\-> command, the same rules for compiling numbers as reals or zints apply.
  • If you have a list, algebraic object, or program which includes several zints on level 1, then you can change them all to reals by switching to approximate mode, pressing LeftShift CursorDown to invoke the EDIT command (or just CursorDown to invoke the EDITB command will do for lists or programs), don't explicitly change anything, and press ENTER to have them all compiled as reals.
  • You can change a real to a zint by editing out the fraction mark and pressing the ENTER key in exact mode.
  • The I\->R command converts a zint to a real.
  • The R\->I command converts an integer valued real to a zint. If the real has a fractional part, R\->I errors out; you can use 0 RND, IP, FLOOR, or CEIL to get an integer valued real from a real with a fractional part.
  • If you set flag -3 (Function -> num), then any calculation with an algebraic object attempts to evaluate the expression all the way to a real. Effectively, it automatically includes the \->NUM command. If it can't be evaluated to a real (such as when it includes an undefined variable), then an error occurs.
  • If you set flag -2 (Constant -> num), then a built-in constant such as \pi, e, i, MAXR, or MINR is automatically evaluated to its real (or complex) value.
  • \->NUM is a command, so it can also be used in a program.
  • You can also force approximate mode by setting flag -105, or exact mode by clearing flag -105, which can be done within a program.
For your #3, by default, the 49 series turns itself off after 5 minutes of inactivity, but this can be changed by storing a binary integer in the reserved variable 'TOFF' (I surmise from Timed OFF). You can have a 'TOFF' in as many directories as you like; the first one found in the current path will be used. The value in TOFF represents the number of ticks (1 second = 8192, or 2^13, or #2000h ticks) of inactivity before the calculator turns off. For example, if you want a 60 second timed off, #2000h 60 * gives me #78000h (or #491520d, etc.) so store that binary integer in 'TOFF'.

In case you set TOFF very low, there's a minimum of a 5-second timed off as a "safety net", so that you have time to purge, rename, or modify TOFF before the calculator turns itself off.

[Edit: The maximum is not 2^31 (#80000000h) ticks.]

There's also a maximum of 2^31-1 (#7FFFFFFFh, the maximum 31-bit value) ticks (a little over 3 days) for TOFF, which I surmise has to do with the calculator's maximum time without doing some "housekeeping" with its time system. Even with the calculator off, it will very briefly "wake itself up" to take care of the time system housekeeping after that long.


Edited: 23 Nov 2006, 11:00 p.m.


In case the maximum of #7FFFFFFFh for TOFF for the automatic
timeoff value (see previous post) isn't enough for you, you can
make the 49 series stay on "forever" (assuming that power is
supplied "forever") by storing the empty program \<< \>> in the
reserved variable 'STARTOFF' in the home directory.

When the timeout (whether the default 5 minutes or the number of
ticks specified by TOFF) has elapsed without any activity, by
default, the calculator turns itself off, but if the reserved
variable STARTOFF is found in the home directory, then the object
stored there is executed instead of turning off, but without
entering any command line or anything in the equation writer or
updating the display, although it does rather mess thing up if the
matrix writer is active.

If you want the calculator to actually turn off at the automatic
timeout but "do something" first, then include the command OFF as
the last object in a STARTOFF program. You can also use STARTOFF
to have the calculator turn off after the automatic timeout and
then "do something" as soon as it's turned on again, by making the
OFF command the first object in a STARTOFF program. Or you can
have the calculator "do something" after the automatic timeoff,
then turn off, and then "do something else" as soon as it's turned
on again.

For example:

%%HP: T(3);
@ Example STARTOFF program for 49 series, to be stored in the home
@ directory.
\<< @ Begin program..
"Off " @ Beginning of "Off" string.
TIME @ Time as real number.
+ @ Concatenate real to string.
OFF @ Turn off, remainder of program to be executed
@ when turned on again.
"On " @ Beginning of "On" string.
TIME @ Time as real number.
+ @ Concatenate real to string.
\>> @ End program.
Note that the display isn't automatically updated when STARTOFF is
finished; to actually see the strings from the above program,
after the calculator is on, you have to exit any "special
environment" such as the command line editor, or at least press a

But STARTOFF is executed only for automatic timeouts; what if you
also want to have it executed when you manually turn the
calculator off? Well, you can use the name STARTOFF as the user
key assignment for the RightShift OFF key:

But in this case, the command line is entered before executing STARTOFF and the display is
updated afterward; I don't know how to quite duplicate the action of the
automatic timeout. But if a user presses OFF himself, he can be
careful to exit any such "special environments" first


Edited: 25 Nov 2006, 4:15 p.m.


STACK appears when you are in RPN mode. STO> appears in Algebraic mode. The menu updates after the TOOL key is pressed when the mode is changed.


For me, I like to keep my calculator in exact mode because sometimes I want an exact answer. So rather than switch modes all the time I just use the ->NUM key but don't hold the shift key down when you press it as this will change the mode, just hit shift then enter and you will get a decimal from the fraction and the calculator stays in exact mode.

Possibly Related Threads...
Thread Author Replies Views Last Post
  Simple Tetris. free for you to improve on cyrille de Brébisson 3 621 11-20-2013, 05:43 PM
Last Post: Erwin Ried
  [HP-Prime] Simple Game (Bugs) CompSystems 1 456 11-01-2013, 10:18 AM
Last Post: Han
  Simple Math Question Namir 2 465 08-09-2013, 06:13 PM
Last Post: Eddie W. Shore
  HP-42S with Electroluminescent screen and simple I/O port Jose Poyan 8 936 03-27-2013, 07:11 PM
Last Post: Jose Poyan
  Simple sample programs for the HP-41CX? Tom Lewis 5 615 03-25-2013, 07:11 PM
Last Post: Allen
  Simple? programming question [WP34S] Shawn Gibson 3 505 03-15-2013, 11:56 AM
Last Post: Didier Lachieze
  Good (simple?) calculation for benchmarking? Jedidiah Smith 28 2,315 03-01-2013, 05:13 PM
Last Post: Harald
  HP 12 C simple interest calcuation sam 6 657 01-16-2013, 10:22 AM
Last Post: fhub
  A simple question about the HP41C or HP41CV Antoine M. Couëtte 6 716 12-16-2012, 04:06 AM
Last Post: Antoine M. Couëtte
  Simple financial problem with a HP-12c Platinum Lapin 3 521 11-11-2012, 09:33 AM
Last Post: Lapin

Forum Jump: