Hewlett Packard HP-35S

 
Serial Number CNA72105746. China, 2007
Accessories Pouch with zipper and a pocket for paper notes (see picture further down). The HP-35s very nicely fits into a HP-33s pouch as well.
Manual (more details see below).
Bonus-DVD showing the Anniversary Video mentioned below.
Condition Bought new!
Repairs, Comments
Acquired 16.8.2007
Manual "HP35s Scientific Calculator User's Guide English" (Edition 1, February 2007)
Especially amusing the note "The computer is personal again" on the back of the book.
Pouch HP has never made this kind of pouch before. The zipper goes all the way around and the unit need not be taken out to use it.
The compartment in the lid is ideal for storing small pieces of paper explaing what actually the programs A...Z are doing. That's one way to get around the limited program naming support!
.


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 A-Z, 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 HP-32S (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 HP-32S is twice as fast. Maybe using those 37 bytes per number (see "Memory" below) makes things so much slower.
Memory 31kByte. Number registers A-Z 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 3D-vector).
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 built-in constants, fractions, registers A-Z direct accessible, two index registers I and J for accessing many more indirect registers.
Data types: Real number, complex number, 2D-vector, 3D-vector. 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 HP-35s 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 HP-35, HP-65, HP-41C, HP-12C. There's an appearance of Dave Hicks, founder of hpmuseum.org!)
Large picture of the HP-35S.
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 HP-35.
So "the HP-35s is the HP-35's 35th anniversary unit". It doesn't have much in common with the old HP-35 other than its general shape and color.
The ability to branch to line numbers greatly enhances programmability compared to the HP-32S/SII, HP-33S 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 right-arow 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.99999999E99 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 HP-35s nicely supports complex numbers only a seemingly random subset of functions actually support them:
Supported Not supported
Storing complex numbers And kind of comparisn of X with 0 or Y
+, -, ,  
sin, cos, tan asin, acos, atan
  sinh, cosh, tanh, asinh, acosh, atanh
ln, ex, yx, 1/x x-th root of y, square root, square (x), log, 10x
ABS Any kind of unit conversion
  %, %CHG, nCr, nPr, n!
 ISG, DSG (real part) Summing S+, S-

The manuals for the HP-32SII, HP-33S and HP-35S are more or less identical.
The "cosine bug" reported for the HP-33s is still present in the HP-35s. Apparently, the math routines are the same as in the HP-33s.
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 HP-IL. Altogether the HP-35S is "only" an improved HP-32S/SII or HP-33S but it cannot rival the HP-41C or HP-42S. Not to forget that the HP-28S (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 HP-35s. 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 HP-28S 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 A-F 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 HP-35s is to use algebraic equations within a RPN program! Consider this:
Z001 LBL Z
Z002 REGZ      ; Enter as "EQN Rv z ENTER"
Z003 RTN
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....
Forensic Result 8.99999986001
SummaryIt 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 straight-forward and compact than a RPN program doing the same thing.
Compared to the HP-32SII 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?


Special performace test programs using line number addressing:

001 LBL A
002 10
003 STO A
004 1
005 +
006 4.567E-4
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
HP-35s 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(1E-6)/10
ln(0.9995)*10000 
ln(1.0005)*10000
pow10(0.005) 
pow10(0.99999) 
pow10(1.00001)/10 
pow10(80.1)/1E80 
log10(2E-8) 
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
1E-11
0
0
0
0
0
251E-11
0
0
0
0
0
1E-11
0
0
0
7E-11
0
0
0
8E-11
0
25E-11
0
0
0
0
0
0
0
0
0


Back To Contents