## Wednesday, February 15, 2017

### Retro Review: Casio CM-100 Computer Math Calculator

Retro Review:  Casio CM-100 Computer Math Calculator

Company:  Casio
Model:  CM-100
Type:  Computer Math, Boolean Algebra
Year: 1986
Power: Solar
Memory Registers: 1

Being Green

The CM-100 is fully ran by solar power, so make sure you have adequate light to operate the CM-100.

Base Calculations

The CM-100 is part of a rare genre of scientific calculator: the calculator that is dedicated to base conversions, bit shifting and rotating, and displaying integers up to 32 bits (dwords).  Perhaps the most famous calculator of this family is the much sought after Hewlett Packard HP-16C.  On the Texas Instruments side, there was the TI-Programmer.

There are five modes on the CM-100:

COMP:  Math Mode.  All numbers are represented in decimal with floating point arithmetic.  The parenthesis, %, √, x^2, 1/x, HMS conversions, and memory functions are the primary functions on the 2nd and 3rd row of keys.  Pressing [ ON ] clears the calculator and sets the CM-100 to COMP mode.

Entering numbers in degrees-minutes-seconds requires a repeated press of [ hms ].

Note: For the BIN, OCT, DEC, HEX modes, the parenthesis and memory functions become shifted functions, and instead of the %, √, x^2, 1/x, DMS conversions, we have BLK (block scrolling), shifting, NOT, AND, OR, XOR, and rotation.

BIN:  Binary Mode.  All integers are represented in base 2.   Pressing [BIN] converts the integer to binary.

OCT: Octary Mode.  All integers are represented in base 8.  Pressing [OCT] converts the integer to octave.

DEC:  Decimal Mode.  All integers are presented in base 10.  Pressing [DEC] converts the integer to decimal.

HEX:  Hexadecimal Mode.  All integers are presented in base 16.  Pressing [HEX] converts the integer to hexadecimal.  The keys A-F become available.  As a reminder:

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

Seeing Blocks

The CM-100 allows the user to set the bit sizes from 1, 4, 8, 10, 16, and 32.  Since the calculator can only fit so many digits on the screen, up to 10, the [BLK] key is to available for the user to cycle through the blocks:

Block 4 | Block 3 | Block 2 | Block 1

Example:  Display 3,723,601 in binary bits.  Assuming base 32 is set (which I think is the default).  Press [BLK] to cycle through the blocks.  The decimal points indicate which block you are viewing.

 Block 1  (3 decimal points to the left) .1.0.01001 Block 2   (2 left, 1 right) .1.1010001. Block 3   (1 left, 2 right) .0011100.0. Block 4   (3 right) 000000.0.0.

Hence, 3,723,601 in binary is 00000000 00111000 11010001 1001001.

To Sign or Not To Sign

The CM-100 has two modes when comes to signs:

Unsigned (no display indicator):  All integers are 0 or positive.  The range is from 0 to (2^n) -1, where n is the number of bits.

Signed (a SIGN indicator):  Integers can be positive or negative.  The first bit is the sign bit which dictates the sign of the integer (easiest to understand in Binary mode).  The range is from -2^(n-1) to 2^(n-1) – 1.

Example:  In Binary, 4 Bits:
 Binary Unsigned Mode Representation Signed Mode Representation 1000 8 -8 1111 15 -1

Shifting Integers

It is well known that most calculators that have base calculations include the Boolean algebra functions NOT, AND, OR, and XOR; pretty standard.  What the CM-100 adds is the shift and rotate functions. I am going to try to explain the shifts as far I understand them – if you have a better explanation, please comment and it will be appreciated.  I think this is best understood in the context of Binary.

A-Shift:  Arithmetic Shift Left/Right.  This moves the bits left or right by 1.  Any bit that “shoved” off is discarded.  In Signed mode, Arithmetic Shift Right replaces the sign bit with whatever was the previous signed bit.  Otherwise, the new bit is 0.

Shift:  Logical Shift Left/Right.  This moves the bits left or right by 1.  Any bit that “shoved” off is discarded.  The replaced bit is always 0.

Rotate:  The bits rotates left or right by one digit.  All bits are otherwise retained.

Arithmetic Shift vs. Logical Shift

The only difference is when you are working with signed integers and when the shifts are to the right.

To illustrate, I executed both shifts on the CM-100, in Signed and Binary modes with 4 bit size set.  Arithmetic Shift Right ([ S ] [OCT] (A S>)),  Logical Shift Right ([ S ] [AND] (Shift>)).

Starting Integer:  0101

 Arithmetic Shift Right 0010 (Logical) Shift Right 0010 Arithmetic Shift Right 0001 (Logical) Shift Right 0001 Arithmetic Shift Right 0000 (Logical) Shift Right 0000

Starting Integer:  1001

 Arithmetic Shift Right 1100 (Logical) Shift Right 0100 Arithmetic Shift Right 1110 (Logical) Shift Right 0010 Arithmetic Shift Right 1111 (Logical) Shift Right 0001

Vs. the HP-16C

New Price of a CM-100:  \$20(?)
New Price of an HP-16C:  \$150

Obviously, the HP-16C was also programmable (203 bytes) and operated in RPN mode.  Furthermore, the HP-16C had double arithmetic (multiplication, division, and remainder).  However, the CM-100 has the decimal/decimal-degrees-seconds conversion and it was solar.

If you want to have a base-dedicated calculator and you had the budget in mind, consider buying the CM-100.  I bought one through eBay (Wolfs Big Bad Garage) for about \$25.  The HP-16C would cost at least \$100.

Verdict

I recommend this model.  It is convenient way to convert between bases, work with common bit sizes, and execute computer algebra on the CM-100.  It’s well worth the price.

If you want to take a look at the manual, check out this link (scroll to the bottom):  http://casio.ledudu.com/pockets.asp?type=1300&lg=eng

Eddie

This blog is property of Edward Shore, 2017

1. Nice machine and excellent review.
Thank you!
Jebem at mohpc

1. Thank you jebem!

2. For OCT, you used the terms 'octary' and 'octave'. The only way I ever heard base 8 expressed was as 'octal'.

1. Interesting. I think octal is the most common used word now that I think about it.

3. Eddie, I appreciate that you shared here the eBay seller name (Wolfs Big Bad Garage) where you bought your CM-100.
This allowed me and some others reading the Museum of HP Calculators forum to timely order it as well.
It is a worth piece of equipment to own.

4. I'm still using it since 30 years now...

5. Nice machine and excellent review.
Thank you!

โกลเด้นสล็อต

goldenslot

6. 16C can operate on 64-bit words!

### HP Prime: The Period of a Pseudo Random Number Generator

HP Prime:  The Period of a Pseudo Random Number Generator Introduction Most scientific calculators, mathematical programs, and spreadsh...