In "std" number format mode, If I have a number on the stack (e.g.
0.0075) and I want to express it as an engineering mantissa/exponent
(e.g. 7.5E-3), the only way seems to be to go
mode|down-arrow|(F2)choose|down-arrow|down-arrow|down-arrow|OK|right-arrow|"3"|OK
which is not a particularly swift way to set engineering mode with 3
decimal place digits ...
If I use the shortcut key (<-|mode) I can get the softkey up which
allows me to set number format - I end up with softkeys to switch
between STD/FIX/SCI/ENG - the number of decimal points under ENG mode
has defaulted back to zero so that I get horrible rounding errors e.g.
the example of 0.0075 STD changes to 8E-3
How could I "hard set" the mantissa in engineering mode (or scientific
mode for that matter) to be a certain number of places?
Thanks in advance for guidance. I haven't read all of the documentation
yet but I am working through it, and that should include the HP48
manuals which have been reported as much more detailed sources.
DDS
3 [Enter]
ENG [Enter]
will change to engineering mode with 3 decimal places.
3 [Enter]
FIX [Enter]
will change to fixed mode with 3 decimal places
STD [Enter]
will change to standard mode
You can write a small program and store in a variable to easily switch
modes. For example, << 3 ENG >> and << STD >> can be stored in
variables 'Eng' and 'Std'
> 3 [Enter]
> ENG [Enter]
>
> will change to engineering mode with 3 decimal places.
Of course - how simple! I didn't think to apply RPN entry and then get
it to do what I want. Very slow of me.
Thanks for this tip; just what I needed. I'm going to hide away for a
while now, and let the embarrassment subside.
DDS
> between STD/FIX/SCI/ENG - the number of decimal points under ENG mode
> has defaulted back to zero
>
> How could I "hard set" the mantissa in engineering mode (or scientific
> mode for that matter) to be a certain number of places?
You can not "hard set" the number of places, because an argument
(specific number of places) is required for the FIX, SCI, and ENG commands.
However, you can create small programs with the number of places
built into the program, e.g. \<< 4 ENG \>> 'ENG4' STO
[r->] [OFF]
This is a bit of an overkill, but I have found the following to be
very useful. I use the KeyMan+ library to assign two programs, NMODE
and STDMODE, to RightShift_Hold+Mode and Long_RightShift_Hold+Mode
respectively.
My NMODE program rotates through FIX/SCI/ENG/STD using 'DECPL' number
of decimals (or 5 decimals if 'DECPL' doesn't exist).
\<<
IFERR 'DECPL' RCL
THEN DROP 5
END \-> DP
\<< -49 FS? -50 FS? 2. * +
CASE DUP 0. ==
THEN DP FIX "FIX"
END DUP 1. ==
THEN DP SCI "SCI"
END DUP 2. ==
THEN DP ENG "ENG"
END STD "STD"
END 1. DISP 1. FREEZE DROP
\>>
\>>
and STDMODE just puts it in STD mode with a message
\<< STD "STD" 1. DISP 1. FREEZE \>>
-wes