HP codename, series  unknown 

Type, Precision, Input Mode  Scientific, 12 BCD digits, exponent
±499,
15 digit internal precision, Algebraic and Reverse
Polish Notation. 

Programmable  Yes. Global labels AZ, branching to local line numbers with automatic adjustment (!) on editing. To simplify program editing the global label character preceeds the line number. 4 general purpose flags, 7 special flags. DSE, ISG instructions, 20 subroutine levels, up to 999 instructions per program. Program checksums can be displayed to ensure that instructions have been entered correctly.  
Performance Index  9.5. This is horribly slow! The HP32S (introduced 1988, almost 20 years ago) is more than three times as fast. For another test I ran the faculty test program (see listing below) and still found that the HP32S is twice as fast. Maybe using those 37 bytes per number (see "Memory" below) makes things so much slower.  
Memory  31kByte.
Number registers AZ plus statistics registers, up to more than
800 indirect number storage registers (shared with program
memory). Each storage register (as well as stack register) occupies 37
bytes because it can hold
up to 3 real numbers (as needed for a 3Dvector). 

Display  2 line LCD, each 14 dot matrix 5x7 characters
plus annunciators. 

Special features  Solver,
numerical integration, equations, complex numbers, vectors, different
number bases, unit conversions, 42 builtin constants, fractions,
registers AZ direct accessible, two index registers I
and J for
accessing many more indirect registers. Data types: Real number, complex number, 2Dvector, 3Dvector. No strings  although the standard register with 36 bytes (plus 1 byte for type indication) made a nice string which would be sufficiently long for most purposes. 

Original Pricing, Production  April 2007 ($60)  now 

Batteries  2x large button size cells, 3V. 

Dimensions  Length 15.8 cm, width 8.2 cm, height 1.8 cm 

Links  HP35s Flyer (PDF from HP,
English, 2 pages, April 2007) Hewlett Packard's 35th Anniversary of Pocket Calculators Video (WMV, 7:25min, 28 MByte, mentions the HP35, HP65, HP41C, HP12C. There's an appearance of Dave Hicks, founder of hpmuseum.org!) Large picture of the HP35S. HP Support Page with lots of information in PDF format. Training Modules (PDF format) The HP 35s (HPCC Datafile, Gene Wright, PDF) Quick Reference. Quck Reference by Emilio Tozzi. 

Comments  Introduced in 2007, 35 years after the
introduction of HP's first pocket calculator, the HP35. So "the HP35s is the HP35's 35th anniversary unit". It doesn't have much in common with the old HP35 other than its general shape and color. 

The
ability to branch to line numbers greatly enhances programmability
compared to the HP32S/SII,
HP33S
and
other older units. Although this has a subtle disadvantage: Program
listings must
be given with line numbers! "XEQ" and "GTO" require a combined label/line# argument, ie. "GTO A005". As a consequence, when entering "XEQ A" to invoke a program nothing happens because the unit still needs to know the line number! For an abbreviation the user can now press ENTER to start executing at A001. 

In display mode ALL only positive numbers up to
9.9999999999E99 fit
into the display (because there are 14 display character positions). As
soon as the exponent reaches 100 or the mantissa or exponent becomes
negative the number doesn't fit any more and is truncated to the right!
In this case a small arrow is shown and the rightarow key can be used
to display the reminder of the number. Very awkward. "FIX
8", "SCI
8" or "ENG 8" ensures that numbers up to
±9.99999999E±99
fit entirely into the display. I think this is a consequence of
displaying complex numbers on a single line. In this case there is no
way around using the arrow keys to see it all. Another oddity is the superscripted minus sign for negative numbers and exponents. Presumably required to be able to distinguish between a negative sign and the minus operator in equations. 

Even though the HP35s nicely supports complex
numbers only a seemingly random subset of functions actually support
them:


The manuals for the HP32SII, HP33S and HP35S are more or less identical.  
The "cosine bug" reported for the HP33s is still present in the HP35s. Apparently, the math routines are the same as in the HP33s.  
Due to the lack of
character
strings programs and variables cannot be given descriptive names. And
there are no I/O interfaces for a printer, card
reader, ROM/RAM module or HPIL. Altogether the HP35S is "only" an
improved HP32S/SII or HP33S but it cannot rival the HP41C or HP42S. Not to
forget that the HP28S
(although it did cost $235 in 1988) also had 32kByte of memory and was
equipped with the extremely powerful
RPL programming language that included descriptive naming of variables! It is a pity that HP didn't bring the powerful RPL language with its ability to give variables and programs descriptive names to the HP35s. Maybe it was assumed that the display was to small to enter structured RPL programs and there were too few keys for the entire alphabet. The HP28S offered 4 lines of display and 72 (!) keys. 

Using binary, octal or hexadecimal numbers is quite a bit of a pain. For one thing, hexadecimal digits AF are located on the SIN, COS, TAN, sqrt, yx and 1/x key  but these keys are not labelled accordingly! Furthermore, entering a binary, octal or hexadecimal value requires the appropriate base identifier at the end of the number, ie "3AFh" or otherwise the number is always assumed to be decimal and an error is generated if it contains unappropriate digits. The base identifier can only be reached thru the "BASE" menu, ie. for the "h" label press: Shift, BASE, down, down, right, ENTER  6 keypresses!!!! Ok, there is an abbreviation if you can remember that "h" corresponds to the 6th entry in the BASE menu: Shift, BASE, 6  but still these are 3 keypresses. Integer numbers range from 0 to 0xFFFFFFFFF (40 bits). Values with the high bit set are apparently considered negative: 0x3FF00 multiplied by itself results in OVERFLOW, the negative of 0x1 is 0xFFFFFFFFF, 0x7FFFFFFFF + 0x1 creates an overflow, 0xFFFFFFFFF * 0xFFFFFFFFF results in 1 because 1 * 1 = 1. You need to get used to this. 

A cool feature of the HP35s is to use algebraic equations within a RPN program! Consider this: Z001 LBL Z
The equation in line 2 simply takes the Z register and  as a result 
pushes this number onto the stack. So with this tiny program you can
get a copy of the Z register into X....Z002 REGZ ; Enter as "EQN Rv z ENTER" Z003 RTN 

Forensic Result  8.99999986001  
Summary  It
leaves me with mixed feelings. The artistic and mechanical design is
very very good and easily matches the Pioneers. The support for
algebraic mode and equations really complicates and confuses things a
lot. Although I must admit that an equation can be much more
straightforward and compact than a RPN program doing the same thing. Compared to the HP32SII there is much more memory available, complex numbers are handled more naturally, vectors are supported (although in a rather limited way) and there are two display lines. Why by all means did they squeeze algebraic mode into this unit? 
001
LBL A 002 10 003 STO A 004 1 005 + 006 4.567E4 007  008 70 009 + 010 69 011  012 7 013 x 014 11 015 / 016 RCL A 017 1 018  019 STO A 020 x<>0 ? 021 GTO A004 022 Rv 023 log 024 sin 025 sqrt 026 sqrt 027 RTN 
Wrapper:
Expects a count in register C. 001 LBL C 002 XEQ A001 003 RCL C 004 1 005  006 STO C 007 x<>0? 008 GTO C002 009 RTN 
Faculty
test program 001 LBL D 002 69 003 n! 004 x<>y 005 1 006  007 x<>0? 008 GTO D 009 RTN 
Calculation 
Correct result 
HP35s Result 
Error 
100/18 40/9 5.555555*0.5555555 40/9+50/9000 sqrt(2E6)/1000 exp(0.005) exp(0.999999) exp(1.000001) exp(100)/1E43 ln(1E6)/10 ln(0.9995)*10000 ln(1.0005)*10000 pow10(0.005) pow10(0.99999) pow10(1.00001)/10 pow10(80.1)/1E80 log10(2E8) log10(0.9995)*10000 log10(1.0005)*10000 log10(1000100) 2^40 / 1E12 2^1.443 1.000001^1E6 sin(0.01 rad)*1000 sin(1 rad)*10 sin(1.5608 rad)*10 sin(800 rad)*10 tan(0.01 rad)*100 tan(1 rad) tan(1.5708 rad)/1E5 tan(800 rad) asin(0.01)*100,rad asin(0.5)*10,rad asin(0.999),rad asin(0.99999),rad atan(0.01)*1000,rad atan(0.9999)*10,rad atan(1.0001)*10,rad atan(1E4),rad sin(0.01 deg)*10000 sin(50 deg)*10 sin(89.9 deg)*10 sin(5000 deg)*10 tan(0.01 deg)*10000 tan(50 deg) tan(89.99 deg)/1000 tan(5000 deg)*10 asin(0.01 deg)*10 asin(0.5 deg)/10 asin(0.999 deg)/10 asin(0.99999 deg)/10 atan(0.01 deg)*10 atan(0.9999 deg)/10 atan(1.0001 deg)/10 atan(1E4 deg)/10 
+5.55555555555 5555556 +4.44444444444 4444444 +3.08641913580 2500000 +4.45000000000 0000000 +1.41421356237 3095049 +1.00501252085 9401063 +2.71827911017 8575917 +2.71828454674 2232836 +2.68811714181 6135448 1.38155105579 6427410 5.00125041682 2979193 +4.99875041651 0479141 +1.01157945425 9898524 +9.99976974414 1629304 +1.00002302611 6026881 +1.25892541179 4167210 7.69897000433 6018805 2.17201545864 2557997 +2.17092972230 2082819 +6.00004342727 6862670 +1.09951162777 6000000 +2.71885648381 3477575 +2.71828046931 9376884 +9.99983333416 6664683 +8.41470984807 8965067 +9.99950037141 3582332 +8.93969648197 0214179 +1.00003333466 6720637 +1.55740772465 4902231 2.72241808407 3540959 1.99490016084 5839293 +1.00001666741 6711313 +5.23598775598 2988731 +1.52607123962 6163188 +1.56632418711 3108692 +9.99966668666 5238206 +7.85348160897 3649763 +7.85448160897 5316429 +1.57069632679 5229953 +1.74532924313 3368033 +7.66044443118 9780352 +9.99998476913 2876988 6.42787609686 5393263 +1.74532926971 6252907 +1.19175359259 4209959 +5.72957789313 0590236 8.39099631177 2800118 +5.72967344857 1526491 +3.00000000000 0000000 +8.74374412668 7686209 +8.97437652708 4057279 +5.72938697683 4859268 +4.49971350677 8012245 +4.50028646457 4097998 +8.99942704220 6779036 
+5.55555555556 +4.44444444444 +3.08641913580 +4.45000000000 +1.41421356237 +1.00501252086 +2.71827911018 +2.71828454674 +2.68811714182 1.38155105580 5.00125041682 +4.99875041651 +1.01157945426 +9.99976974414 +1.00002302612 +1.25892541180 7.69897000433 2.17201545864 +2.17092972230 +6.00004342728 +1.09951162778 +2.71885648381 +2.71828046932 +9.99983333416 +8.41470984808 +9.99950037141 +8.93969648197 +1.00003333467 +1.55740772465 2.72241808658 1.99490016085 +1.00001666742 +5.23598775598 +1.52607123963 +1.56632418711 +9.99966668666 +7.85348160897 +7.85448160898 +1.57069632680 +1.74532924306 +7.66044443119 +9.99998476913 6.42787609687 +1.74532926964 +1.19175359259 +5.72957789338 8.39099631177 +5.72967344857 +3.00000000000 +8.74374412668 +8.97437652708 +5.72938697683 +4.49971350677 +4.50028646457 +8.99942704221 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1E11 0 0 0 0 0 251E11 0 0 0 0 0 1E11 0 0 0 7E11 0 0 0 8E11 0 25E11 0 0 0 0 0 0 0 0 0 
Back To Contents 