Jump to content

HP-16C

From Alfawiki
Hewlett-Packard
Company typePublic
IndustryElectronics, Computer hardware
FoundedJanuary 1, 1939; 87 years ago (1939-01-01)
ProductsCalculators, Computers

The HP-16C Computer Scientist is a programmable pocket calculator manufactured by Hewlett-Packard between 1982 and 1989, specifically created to aid computer programmers in debugging tasks. As part of the HP Voyager series, it stood out as HP's sole calculator exclusively designed for programmers, although its functionalities were later incorporated into several subsequent models.

Features

The 16C provides integer representation and conversion capabilities across hexadecimal, decimal, octal, and binary numeral systems, with floating-point operations restricted to decimal format. Its display can be adjusted to show extended-length integers, while the word size is customizable from 1 up to 64 bits, aligning with various target computer architectures. The calculator supports binary arithmetic using unsigned, ones' complement, or two's complement formats, allowing precise simulation of computer arithmetic.

It includes specialized programming-oriented operations such as left and right shifts, rotations, masking, and bitwise logical functions. In addition to these, the device offers fundamental arithmetic operations along with reciprocal and square root calculations. Although it does not match the breadth of general scientific calculators, it surpasses contemporaries like the non-programmable Casio CM-100 and TI's Programmer series in sophistication.

A quick-reference chart summarizing essential functions is printed on the back cover.

Powered by HP’s proprietary HP Nut processor utilizing bulk CMOS technology, the 16C featured continuous memory that retained data even when powered down—a pioneering feature in the early 1980s that inspired the "C" designation in its model name.

Programming

Like all Voyager series calculators, the 16C employs Keystroke programming and supports up to 203 program steps alongside 16 program or step labels. Each label occupies register space in increments of 7 bytes.

An example program spanning 9 bytes computes the factorial of an integer between 2 and 69. The displayed codes correspond to the keypad’s row and column positions for each pressed key.

Step Keystrokes
(shift keys not shown)
Displayed code Comment
001 Template:Keypress Template:Keypress 43,22, F Assign label F ("factorial")
002 Template:Keypress 42 22 Transfer x into register I
003 Template:Keypress 1 Load value 1 into x
004 Template:Keypress Template:Keypress 43,22, 0 Assign label 0
005 Template:Keypress Template:Keypress 45 32 Retrieve register I into x
006 Template:Keypress 20 Multiply x by y
007 Template:Keypress 43 23 Decrement register I; if nonzero ...
008 Template:Keypress Template:Keypress 22 0 ... jump back to label 0
009 Template:Keypress 43 21 End program; result shown in x

To execute this routine, input the argument onto the stack and press . The output appears upon completion.

Legacy

HP did not release any further calculators solely for programmers but integrated many features of the HP-16C into later scientific and graphing calculator models such as the HP-42S (1988) and its successors.

Collectors highly prize the HP-16C due to its distinctive functionality.

In July 2023, HP licensees Moravia Consulting spol. s r.o. and Royal Consumer Information Products, Inc. introduced the HP-15C Collector's Edition, which contains a hidden mode replicating the HP-16C experience. A longstanding firmware defect affecting hexadecimal values ending with E or F was resolved through a community-driven fix in October 2023.

A variety of official and third-party emulators are available for desktop computers, web browsers, smartphones, and other platforms.

Several software simulators emulate HP calculators; among them, the open-source WRPN Calculator stands as one of the oldest active HP-16C simulation projects.

See also

Further reading

  • (5 pages)