HP 35s
| Company type | Product |
|---|---|
| Industry | Electronics, Calculators |
| Predecessor | HP-35 |
| Founded | 2007 |
| Products | Programmable scientific calculator |
| Owner | Hewlett-Packard |
The HP 35s (model F2215A) is a programmable scientific calculator produced by Hewlett-Packard that does not feature graphing capabilities. Launched in 2007 to commemorate the 35th anniversary of the HP-35, Hewlett-Packard’s inaugural pocket calculator and the first pocket scientific calculator globally, the HP 35s was also released in a special limited edition. This anniversary version showcased a black overlay and bore the inscription "Celebrating 35 years."
Features
The HP 35s accommodates input via both RPN and algebraic infix formats.
Its notable characteristics include:
- Two-line alphanumeric LCD display
- More than 800 memory registers, with 26 directly labeled and the remainder accessible indirectly
- A comprehensive set of scientific and statistical functions
- Capability to operate in decimal, binary, octal, and hexadecimal numeral systems
- An equation solver allowing arbitrary variable isolation, inherited from the HP-18C
- Numerical integration functionality derived from the HP-34C
- Support for fraction entry and display
- Calculations involving complex numbers and vectors
- A table of physical constants alongside unit conversion features
- Keystroke programmability supported by roughly 30 KB of memory allocated for programs and data
Designed with a retro aesthetic that pays homage to classic HP calculators from the 1970s through the 1990s, the HP 35s delivers substantially improved processing capabilities, expanded memory, and enhanced functionality compared to its predecessors.
In contrast to the earlier HP 33s model, the HP 35s introduces several key differences:
- It permits program addressing via both labels and line numbers, whereas the 33s only supported label addressing
- Memory capacity is increased, with 801 numbered registers available for data storage
- Vector operations are now supported
- Complex numbers are handled as single entities rather than pairs of values
- Indirect branching instructions such as GTO or XEQ have been removed
- There is no restriction on equation length, unlike the 33s which was limited to 255 characters
- Algebraic mode employs conventional infix notation with editing features; the 33s used a hybrid input system lacking deletion capability
Hewlett-Packard offers a complimentary Windows-based emulator for the HP 35s, which was previously restricted to educational purposes only.
Construction
The HP 35s was developed through collaboration between Hewlett-Packard and Kinpo Electronics based in Taiwan, with manufacturing taking place in mainland China.
Built to endure demanding professional environments, this calculator has been subjected to rigorous testing under harsh conditions. Its sturdy design incorporates 25 screws ensuring structural integrity and facilitating maintenance.
Its styling reflects that of classic HP calculators from the 1970s such as the HP-65, featuring a black chassis with silver-striped curved edges, sloped front keys, and gold and blue shift keys. The metal faceplate is securely bonded to a plastic body. Unlike older models where key legends were double-shot molded, this model uses printed key labeling.
The device is powered by two CR2032 button cell batteries connected in parallel; it is recommended that batteries be replaced one at a time to prevent data loss.
At launch, it came with a hard zippered clamshell case and a printed user manual. Subsequent releases included a vinyl-covered cardboard slipcase with elastic sides and velvet lining, accompanied by a CD-ROM containing a PDF version of the manual.
The calculator operates entirely independently without any provision for firmware updates or program/data transfer capabilities.
Reception
The HP 35s has received commendations for its robust construction and classic industrial design, representing a nod to traditional HP calculators with features like 4-Level RPN and RPN programming capabilities. Nevertheless, it lacks integrated matrix operations and utilizes less expensive plastic materials compared to earlier RPL models, which positions it mainly toward the student demographic. Reviewers have noted the familiar keyboard layout, featuring a prominent key placed in its customary location.
Critiques focus on the absence of computer connectivity for data transfer and relatively slow processing speeds.
Enhancements over the HP 33s include an increased number of accessible registers and program line-number addressing. Although its handling of complex numbers has improved, the incomplete functionality has drawn some negative feedback. Entering hexadecimal and other non-decimal bases requires multiple cumbersome keystrokes. Additionally, several firmware issues remain unresolved.
Because of its limited communication options, the 35s is permitted in certain professional certification exams that ban more advanced calculators. In the United States, it stands as the most capable programmable calculator authorized for use in the Fundamentals of Engineering and Principles and Practice of Engineering tests.
Entry modes
Both RPN and algebraic input methods are supported by the 35s, with RPN set as the default mode consistent with most HP calculators. Users can switch between modes easily, with a mode indicator showing which entry method is active.
In RPN mode, a four-level stack named X (bottom), Y, Z, and T (top) is employed, aligning with HP’s tradition for non-graphing RPN calculators. Each stack level can store real numbers, complex numbers, or vectors. Stack operations such as roll (R↑/R↓), swap (x<>y), recall (LASTx), and variable exchange (x<>) facilitate efficient management of stack contents.
Algebraic mode enables users to input full expressions that are evaluated upon pressing . The expression appears on the top display line while results show below. Editing functions using arrow keys and backspace allow for easy corrections and re-evaluation.
Units and fractions
Reflecting its retro styling, the 35s focuses on conversions between Imperial/US customary units and metric units. It supports both entry and display of mixed fractions to accommodate users working with traditional measurement systems.
Mixed fractions are entered by using decimal points to separate components—for example, converts inches into approximately 10.0 cm.
Users can enable or disable automatic mixed fraction display with the key and adjust the maximum denominator through . Three denominator systems can be selected via numbered flags: one offering highest precision, another using factors of the maximum denominator (such as 2, 4, 8, 16), and a fixed denominator option. Small arrows indicate if the displayed fraction slightly exceeds or falls short of the true value. The calculator does not include dedicated functions for isolating fractional parts.
Complex numbers
Earlier HP models managed complex numbers by storing real and imaginary components separately along with a "complex" flag for operations. For instance, adding two complex values on the HP 33s required numerous keystrokes and utilized all four stack levels.
The HP 35s advances this approach by treating complex numbers as single entities, streamlining calculations significantly. The same addition operation demands fewer keystrokes.
However, only a limited range of complex functions is supported. For example, attempting to compute the square root of a negative real number results in an error instead of yielding a complex outcome. While raising a number to the power of 0.5 succeeds if entered with an explicit zero imaginary part, inverse and hyperbolic trigonometric functions do not accept complex arguments. Base-e logarithms and exponentiation are supported for complex inputs; however, base-10 logarithms are not directly available though alternative methods exist.
Complex numbers can be input in rectangular form using the key or in polar form via the key, with display options for either format. Radius and angle can be extracted using the and functions respectively. While there are no dedicated commands to isolate real or imaginary parts directly, these can be calculated through combinations of and .
Vectors
The HP 35s accommodates vectors containing up to three real-number components, which can be stored either individually on the stack or within variables. To input vectors, users begin with an opening square bracket and separate each element by commas. Operations such as addition, subtraction, and multiplication or division by scalars are supported. When two vectors share the same dimension, they can be added, subtracted, or multiplied to yield their dot product. The calculator provides a function to calculate a vector's magnitude.
While the device does not include a dedicated cross-product function nor direct access to individual vector elements, these calculations can be performed manually by the user. Vectors also serve as containers for grouping multiple real numbers together, effectively expanding storage capacity but with some trade-offs in complexity and processing speed. HP offers programming guidance on data packing techniques for the 35s to assist in leveraging this capability.
Number bases
The calculator supports displaying numbers in binary, octal, hexadecimal, and decimal formats. In any base other than decimal, results are truncated to integer values. Entering numbers in non-decimal bases requires appending a suffix that specifies the base, which involves additional keystrokes.
When operating in hexadecimal mode, six keys normally assigned to floating-point functions are repurposed to input hex digits A through F. The word size is fixed at 36 bits using two's complement representation for negative values. Users have access to six bitwise logical operations: AND, OR, XOR, NOT, NAND, and NOR.
Statistics and probability
Standard statistical functions are available on the 35s for analyzing one- or two-variable datasets. These include calculations of means, weighted means, standard deviations, and linear regression parameters. Summation registers facilitate extended computations. Probability tools encompass combinations, permutations, and random number generation capabilities.
Memory and variables
The HP 35s offers 30 KB of user-accessible memory shared among data storage, equations, and programming routines. Complex numbers and vectors with up to three components are treated as single entities occupying 37 bytes each.
There are 26 fixed alpha-labeled variables along with six dedicated statistics registers. Additionally, up to 801 more variables can be accessed indirectly through pointers held in the I or J registers. Indirect variables are dynamically allocated when assigned non-zero values and automatically released when reset to zero in reverse order of allocation. Accessing unallocated indirect variables triggers errors; therefore, users commonly assign placeholder non-zero values to higher-numbered variables to maintain their availability.
Permanent variables and statistics registers can also be referenced indirectly using negative index numbers ranging from -1 to -32.
A set of 41 selectable mathematical and physical constants is accessible via the CONST key. The calculator includes 12 binary flags that influence device behavior; five of these flags may be customized by the user.
Storage requirements for equations amount to one byte per character plus overhead bytes; program steps consume three bytes or more if they contain embedded values or equations.
Users can readily monitor memory consumption; however, programs themselves cannot perform this check. The CLVARx command enables clearing indirect variables above a user-specified index number.
Equations
Multiple equation types can be stored on the calculator including expressions (f(x, ...)), equalities (f1(x, ...) = f2(x, ...)), and assignments (y = f(x, ...)). These generally involve named variables that prompt user input during execution or draw values from the stack.
Equations are entered using algebraic notation regardless of whether RPN mode is active and are maintained in a list accessible via the dedicated key. Users may navigate through this list to add new equations, modify existing ones, delete entries, or select specific equations for evaluation.
Equations support several operations:
- Evaluation via or , which requests variable values; assignments update corresponding target variables.
- Solving for any variable using , isolating the chosen variable guided by user-supplied initial guesses.
- Integration through , where interval boundaries and variables must be specified.
The calculator includes two predefined equations designed for solving linear systems involving two or three variables.
Both solving and integration processes consume time and memory resources; performance benefits from lowering display precision and ensuring ample free memory.
Equations are not checked for correctness upon entry, allowing users to embed textual notes within the equation list without triggering errors.
Programming
The HP 35s features keystroke programming capabilities that enable users to automate intricate calculations. This programming method captures individual keystrokes, including those involving shifted functions, and supports conditional branching as well as looping constructs for executing decisions and repetitions.
Programs are stored in a contiguous memory area accessed through the key. Up to 26 alphabetic labels (–) designate program entry points, each capable of containing as many as 998 steps. Steps occurring before the first label are assigned numbers but cannot be targeted directly. Instructions such as GTO and XEQ automatically adjust their references when program steps are modified. Program execution is initiated with , can be interrupted and resumed via , and navigated step-by-step using the arrow keys. Notably, program labels operate independently from variable identifiers.
Both RPN and algebraic input modes are supported for programming; however, RPN typically results in more concise and faster-executing programs.
The following examples demonstrate factorial calculation programs:
Algebraic version:
| Step | Instruction | Description |
|---|---|---|
| A001 | Template:KeypressTemplate:Keypress | Program A start point |
| A002 | Template:KeypressTemplate:KeypressTemplate:KeypressTemplate:Keypress | Save displayed number into N |
| A003 | Template:KeypressTemplate:KeypressTemplate:KeypressTemplate:Keypress | Initialize F with 1 |
| A004 | Template:KeypressTemplate:KeypressTemplate:KeypressTemplate:KeypressTemplate:KeypressTemplate:KeypressTemplate:Keypress | Calculate F = N × F |
| A005 | Template:KeypressTemplate:Keypress | Decrement N; if nonzero... |
| A006 | Template:KeypressTemplate:KeypressTemplate:KeypressTemplate:KeypressTemplate:Keypress | ...jump back to step A004 |
| A007 | Template:Keypress | Program end; result shown |
RPN version:
| Step | Instruction | Description |
|---|---|---|
| R001 | Template:KeypressTemplate:Keypress | Begin program R |
| R002 | Template:KeypressTemplate:Keypress | Store input x into memory N |
| R003 | Template:Keypress | Push initial value 1 onto stack |
| R004 | Template:KeypressTemplate:KeypressTemplate:Keypress | Multiply top of stack by N |
| R005 | Template:KeypressTemplate:Keypress | Decrement N; if not zero... |
| R006 | Template:KeypressTemplate:KeypressTemplate:KeypressTemplate:KeypressTemplate:Keypress | ...return to step R004 loop |
| R007 | Template:Keypress | End program; display result from stack |
Within programs, equations may be inserted as individual steps. The calculator's configuration determines whether these embedded equations compute results or simply display at runtime. Since equations can include arbitrary characters, they can also function as message prompts that halt execution until continued or proceed after a short delay.
Moreover, programs can be solved or integrated similarly to standalone equations by pressing along with the program label and either or . The calculator utilizes current variable values unless the program requests user input through commands. Programs may also invoke solving or integration of other equations or programs, thereby expanding computational versatility.