(32Sii, 35S) Rounding Value to nearest value in E24 Serie
02-14-2022, 09:16 PM (This post was last modified: 02-15-2022 10:10 AM by jolatomme.)
Post: #1
 jolatomme Junior Member Posts: 3 Joined: Feb 2022
(32Sii, 35S) Rounding Value to nearest value in E24 Serie
Hi, I am new to this forum but would like to share a small program that I frequently use and might be usefull.

Series are used in electronics to have a logarithmically based sequence and this enables the different values to be spaced in such a way that they relate to the component tolerance or accuracy. Since not every value are available, the goal of this program is to calculate the nearest value in the E24 normalized serie.
This program works in RPN mode and is mainly based on stack manipulation. To discriminate between choices (program branches), flag mechnism has been preferred over LABEL and GOTO to save limited labels availability (HP32Sii).
Given a value in X register (let's call it R), the first step of the program is to calculate the value exponent.
This is done through steps 6 to 7 : LOG(IP(R)). Exponent is named D in the stack detail for simplicity
The second step consist in finding the place in serie ROUND(LOG((R/10^D)^24), 0). Serie place is named M in the stack detail
Once the place is found, E24 serie values will require an OFFSET correction:
- if M = 22 : the offset will be -0.1
- if M≥10 and M≤16 the offset will be +0.1
- Offset = 0 for other place
The third step consist in calculating the final value from serie's place and exponent : 10^D * ROUND(OFFSET + 24*SQRT(10^M), 1)
Testing the serie's place is done in the program from instruction R19 to R29. Flags 0 and 1 are used to identify the offset correction.
Final value calculation starts at step R30, offset decision is done from R34 to R40.
R45 revert the calculator in 5 digit display (engineering format), but one may modify this step at convenience. Keep in mind that program checksum is calculated with ENG 5.
Original value is availbale in Y,Z,T registers while final value is available in X register.
On HP35S both values are displayed on the two lines screen while on HP32Sii X and Y register exchange key (X<>Y) needs to be pressed to visualize X and Y registers.
Having both values in X and Y registers still allows further calculations like %chg or more ...
Have fun.

Code:
 R001    LBL R R002    ENTER R003    ENTER R004    CF0 R005    CF1 R006    LOG R007    IP R008    10^x R009    ENTER R010    1/x R011    R↑ (or REGZ) R012    x (multiplication) R013    24 R014    y^x R015    LOG R016    FIX 0 R017    RND R018    ENTER R019    22 R020    x=y? R021    SF 0 R022    CLx R023    16 R024    x<y? R025    SF 1 R026    CLx R027    10 R028    x>y? R029    SF 1 R030    R↓ R031    10x R032    24 R033    x√y R034    0.1 R035    FS? 0 R036    CF 1 R037    FS? 1 R038    CLx R039    FS? 0 R040     +/- R041     + R042    FIX 1 R043    RND R044    x (multiplication) R045    ENG 5 R046    RTN

Attached File(s)
02-17-2022, 06:55 PM
Post: #2
 jolatomme Junior Member Posts: 3 Joined: Feb 2022
RE: (32Sii, 35S) Rounding Value to nearest value in E24 Serie
Hi,
48 and 96 series support can be added to this program.
I mainly use E24 for my daily usage but if someone feels the need to add 48 and 96 serie support, I do not mind posting a second version of this program.
Regards,
Jo.
02-18-2022, 05:38 PM
Post: #3
 John Keith Senior Member Posts: 802 Joined: Dec 2013
RE: (32Sii, 35S) Rounding Value to nearest value in E24 Serie
Here is a related thread with HP48 programs for all series of standard resistor values including E192:

02-18-2022, 11:40 PM (This post was last modified: 03-05-2022 05:28 PM by jolatomme.)
Post: #4
 jolatomme Junior Member Posts: 3 Joined: Feb 2022
RE: (32Sii, 35S) Rounding Value to nearest value in E24 Serie
Hi John,
Thanks for your reply and pointing this out. I did not noticed this.
E48 / E96 are following the exact mathematic definition.
This is not the case for E24 / E192 where you have to offset some of the values.
So adding support of other series in the previous program is not very difficult.
Regards,
Jo.
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)