Showing posts with label decimal. Show all posts
Showing posts with label decimal. Show all posts

Wednesday, August 19, 2026

Spotlight: HP 16C Collector’s Edition

 Spotlight: HP 16C Collector’s Edition



Quick Facts: HP 16C Collector’s Edition



Model: HP 16C Collector’s Edition

Company: Hewlett Packard/Moravia


Type: RPN and Computer Science

Batteries: 2 x CR2032

Memory: Up to 34 memory registers

Programming Memory: Up to 203 memory registers

Years in Production:

Original: 1982-1989

Collector’s Edition: 2026 (limited edition)

Display: 8 digits (scrolling)


Store sites:

Europe: https://www.thecalculatorstore.com/i/the-hp16c

U.S.: https://shop.moravia.education/us/hp-16c-collector-s-edition.html





About the HP 16C


This is my first HP 16C from Hewlett Packard, and it’s a long awaited purchase. The HP 16C is a programmable calculator that is specialized in computer science. There are five main modes:


HEX: Hexadecimal integer mode (base 16, 2^4)

DEC: Decimal integer mode (base 10)

OCT: Octal integer mode (base 8, 2^3)

BIN: Binary integer mode (base 2)

FLOAT: Floating decimal mode.


The FLOAT mode is the only mode where calculations can involved fractions and non-integers. To make room for the Boolean logic and bit functions, the number of functions for floating point are limited to the reciprocal (1/x) and square root (√x).


The other four modes work with integers. The HP 16C is able to work with integers with up word sizes up to 64 bits. Each bit is is a binary bit. For example, a word size of 4 binary integers range from 0000 and 1111. Pressing [ 0 ] [ f ] [ STO ] (WSIZE) is a quick reset to a word size of 64 bits.


Integers can scroll beyond the initial screen of 8 digits, with multiple windows to show all the digits.


We have the classical Boolean functions available: AND, OR, NOT, and XOR. Part of what makes the HP 16C special is addition of bit manipulation functions:


* Shift bits left and right, including the carry over bit: SL, SR


* Arithmetic shift right, where bits are shifted right with the sign bit copied: ASR


* Rotate bits left and right: RL, RR, RL n, RR n (either a single bit or n bits); RLC, RRC, RLC n, RRC n (these are rotation functions including the carry over bit).


* Masks can be generated using the MASKL and MASKR functions.


* Integer division can be accomplished by finding the quotient (÷) and remainder (RMD).


* Finally, the HP 16C can work with double-sized words, potentially after 128 bits, with the double-multiply (DBL×), double-division (DBL÷), and double-remainder (DBLR).



The programming module can hold up to 203 steps, complete with loops, indirect addressing, testing, but no storage or recall arithmetic. Here are a couple of programs:


Integer Division: y |- x


Input Stack:
Y: dividend

X: divisor


Result: quotient, R/S, remainder


Code:


LBL D ; 001 43, 22, d

x<>y ; 002 34

STO 0 ; 003 44, 0

x<>y ; 004 34

÷ ; 005 10

R/S ; 006 31

RCL 0 ; 007 45, 0

LST x ; 008 43, 36

RMD ; 009 42, 9

RTN ; 010 43, 21


Examples


Example 1: 45 d |- 20 d = 2 d remainder 11 d

Keystrokes: DEC 45 ENTER 17 GSB D

Results: 2 d R/S 11 d


Example 2: 1F3 h |- 20 h = F h remainder 13 h

Keystrokes: HEX 1F3 ENTER 20 GSB D

Results: F h R/S 13 h


Hexadecimal: Showing One Hexadecimal Digit at a Time, From Right to Left


This program creates and then manipulates the mask to display each digit.


_ _ _ #

_ _ # 0

_ # 0 0

# 0 0 0


Code:


LBL A ; 001 43, 22, A

STO 0 ; 002 44, 0

CL x ; 003 43, 35

WSIZE ; 004 42, 44

HEX ; 005 23

F ; 006 F

ENTER ; 007 36

1 ; 008 1

+ ; 009 40

WSIZE ; 010 42, 44


RCL 0 ; 011 45, 0

4 ; 012 4

MASK4 ; 013 42, 8

AND ; 014 42, 40

R/S ; 015 31


3 ; 016 3

STO I ; 017 44, 32

LBL 0 ; 018 43, 22, 0

LST x ; 019 43, 36

4 ; 020 4

RL n ; 021 42 E

RCL 0 ; 022 45, 0

x<>y ; 023 34

AND ; 024 42, 20

R/S ; 025 31

DSZ ; 026 43, 23

GTO 0 ; 027 22, 0

RTN ; 028 43, 21


Examples


4F37 h GSB A: 1 R/S 20 R/S 400 R/S 5000


17695 d GSB A: F R/S 10 R/S 500 R/S 4000 (451F h)


The speed of the HP 16C Collector’s Edition is comparable to the HP 15C Collector’s Edition. I found the keys to be responsive and reliable.


Eddie


Sources:


“HP-16C” The Museum of HP Calculators. https://www.hpmuseum.org/hp16.htm Retrieved August 17, 2026.


Hewlett Packard. HP 16c Collector’s Edition: Owner’s Handbook. Edition 2, November 2025. From the HP Calculator Literature website: https://literature.hpcalc.org/items/2714





Eddie


All original content copyright, © 2011-2026. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


Monday, February 2, 2026

Dozenal RPN Calculator App for Android for Android Smartphones and Numworks Beta Firmware Version 25

 Dozenal Calculator App for Android Smartphones and Numworks Beta Firmware Version 25


Dozenal Calculator App for Android Smartphones


The Dozenal RPN Calculator app is by Unum Designum for the Android smartphones. It is a classical, four-level stack RPN (Reverse Polish Notation) app that operates in both dozenal (i.e. duodecimal, Base 12) and decimal (Base 10). The calculator app features a standard set of scientific functions:


* arithmetic, square, square root

* sin, cos, tan, and inverses

* e^x, 10^x, ln, log

* DMS/Decimal conversions and HMS/Hours conversions (not sure how there are two sets, since they seem to do the same thing)

* Pol/Rect conversions

* percent function (%)

* Stack functions: roll down, roll up, swap, last x


Originally Released: July 1, 2020

Last Updated: December 17, 2025 (as of January 22, 2026)

Version I am reviewing 1.0.11


The polar/rectangular conversions follow the conventional RPN calculator format:



Rectangular

Polar

Y Stack:

Y

Θ

X Stack:

X

R



The percent function follows the conventional RPN calculator format:



Before

After

Y Stack:

Y

Y

X Stack:

X

Y * X ÷ 100



However, the decimal/DMS (decimal-minute-seconds) and hours/HMS (hours-minute-seconds) follow up this format:



Decimal/Hours

DMS/HMS

Z Stack:

0 after conversion

seconds

Y Stack:

0 after conversion

minutes

X Stack:

decimal/hours as a decimal

decimal/hours



Conversion between bases is just a matter of pressing [ f ] [ DOZ/DEC ].





Symbols:


* Upside down 2 (↊) represents 10 (Unicode 218A); commonly symbolized by X

* Backwards 3 (↋) represents 11 (Unicode 218B); commonly symbolized by E

(Unicode is from Wikipedia: https://en.wikipedia.org/wiki/Duodecimal)




Two constants provided by the Dozenal RPN app:


Base 10 (e: 10^n)

Base 12 (e: 12^n)

π

3.141592653589793

3;184809493↋9186459↊↊

Planck

6.6206070149999999e-34

1;↊79611175↊0925342846e-27


App information: https://play.google.com/store/apps/details?id=dozecal.unumdesignum.com&hl=en_NZ#/





Numworks: Beta Firmware 25



Version 25 Information: https://www.numworks.com/calculator/update/version-25/



Nuwmorks has released a firmware update 25.1. It is a beta version software where new features are tested. To try it, Numworks is inviting Numworks users to download and become a beta test or us the beta emulator on the Numworks website.



Verison 25 Beta Emulator: https://www.numworks.com/calculator/update/version-25/

Please keep in mind that this emulator is probably only available for the testing period and may become unavaiable once the official release is made.



Major updates include:

* Data in the Statistics app can either be qualitative (data points, the way the statistics mode was always used) or categorial (data points always belong to specific categories, up to 10)

* The Grapher app can shade area of intersection for a given set of inequalities.

* The Grapher app also finds intersection points of conic sections and vertical lines.

* In the Calculations app, results with five or more decimal place will have at least a fractional approximation in the Additional Results quick tab.

* The degree and radian symbol/indicators are added to the Toolbox.

* Sequences have new notations.

* Installing this version will limit roll back deinstalls to versions 24.11 or later.



No word on any additions or changes to the Python app.



I have installed version 25 on my older Numworks calculator (N0110) so I can try them out.



Saturday, August 16, 2025

RPN: HP 32S & DM42: Converting Real Numbers to Hexadecimal Approximations

RPN: HP 32S & DM42: Converting Real Numbers to Hexadecimal Approximations



Introduction


We know calculators that have base conversions easily convert integers to different bases. But what about all real numbers? Not so much. Today’s blog will tackle it.


The procedure given today should work for converting from decimal to octal, binary, and hexadecimal. I chose hexadecimal:


0.A B C D… _16

The digit A is in units of 1/16.

The digit B is in units of 1/16^2 or 1/256.

The digit C is in units of 1/16^3 or 1/4096.

The digit D is in units of 1/16^2 or 1/65536.

and so on.


Note: The procedure considers positive real numbers only.


Example: Convert 7.86 to hexadecimal using 4 places


In hexadecimal, 4 places translates to terms of 1/65536.


Separate 7.86 into its integer and fractional parts.

Integer Part: 7

Fractional Part: 0.86

Convert the fractional part to n parts of 65536. (16^4)*

0.86 * 65536 = 56360.96

Round n to the nearest integer. Use the formula: int(n + 0.5) = int(n + 1/2)

Int(56360.96 + 0.5) = 53361

(round(56360.96, 0) = 53361)

Convert both original integer part and the last result to hexadecimal.

Integer Part: 7_10 → 7_16

Frac in terms of 65536: 53361_10 → DC29_16

**If the fractional part has less than four* digits showing in the calculator, pad the converted part with zeros on the left.


The approximate answer reads as:

7.86_10 → 7.DC29_16

Recall in Hexadecimal:

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


* precision: number of places.


HP 32S/HP 32SII/DM32 Code


H01 LBL H

H02 ENTER

H03 IP

H04 x<>y

H05 FP

H06 16

H07 4 (** - accuracy level, number of places)

H08 y^x

H09 ×

H10 2

H11 1/x

H12 +

H13 IP

H14 HEX

H15 STOP

H16 DEC

H17 RTN



HP 42S/DM42 Code


01 LBL “→HEX”

02 ENTER

03 IP

04 x<>y

05 FP

06 16

07 4 (** - accuracy level, number of places)

08 Y↑X

09 ×

10 0.5

11 +

12 IP

13 HEXM

14 STOP

15 EXITALL

16 RTN



When the program stops initially, the results are shown as follows:

Y: integer part

X: fractional part – right justified


Remember the number of places (precision) because if the fractional part has less digits, pad zeroes to the left.


Examples


n = precision = 4

Decimal

Y: Hex Integer

X: Hex Fractional (displayed)

Result (base 16)

3.5

3

8000

3.8000

π

3

243F

3.243F

√2

1

6A0A

1.6A0A

0.6732

0

AC57

0.AC57

0.0002

0

D

0.000D

e^4.1

3C

571D

3C.571D

8.2^1.7

23

C460

23.C460



Eddie


All original content copyright, © 2011-2025. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.


All posts are 100% generated by human effort.  The author does not use AI engines and never will.


Saturday, January 7, 2023

Casio fx-9750GIII: Decimal Expansion of a Fraction

Casio fx-9750GIII:  Decimal Expansion of a Fraction


Introduction - Happy New Year!


The program DEC21 finds a decimal expansion of a positive fraction.  This program is based on Barry Kissane's DECIMAL program from "Programming Your Calculator: Casio fx-7400G Plus" (see source below).  



Casio fx-9750GIII Program:  DEC21

244 bytes


"2022-11-22 EWS"

"FRACTION EXPANSION"

"NUM.(>0) "?→N

"DEN.(>0) "?→X

Int log (N/X)+1→T

ClrText

Locate 1,2,N

Locate 13,2,"÷"

Locate 1,3,X

Locate 13,3,"≈"


For 1→I To 21

If T=0

Then 

Locate I,5,"."

I+1→I

IfEnd

Int (N÷X)→D

10*(N-D×X)→N

Locate I,5,D

T-1→T

Next

Locate 18,1,"   "


Note:  the approximate symbol, ≈, is found in the CHAR menu.


Examples:


Example 1:

558/127


NUM:  558

DEN:  127


Result:

558 ÷

127 ≈


4.3937007874015748031



Example 2:

5/27


NUM: 5

DEN: 27


5  ÷

27  ≈


0.1851851851851851851


Here's to a great 2023!



Source


Kissane, Barry.  Programming Your Calculator: Casio fx-7400G Plus. Chatswood NSW, Australia, 2000. ISBN 0 9758302 0 3.   


Eddie



Remember, my regular posting schedule for January and February 2023 is on Saturdays only. 


All original content copyright, © 2011-2023.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Sunday, October 30, 2022

HP 71B and TI-84 Plus CE: Binary Decimal Conversions Revised

HP 71B and TI-84 Plus CE:  Binary Decimal Conversions Revised


The programs presented can easily convert integers without the needs of lists or strings in input.  



HP 71B Programs:  BINDEC, DECBIN


No modules are required.


BINDEC (137 bytes)


100 DISP "BIN>DEC" @ WAIT .5

105 DESTROY A,B,C,D,E

110 INPUT "BIN? ";A

115 B=1 @ D=0 @ C=A

200 E=A/10 @ A=INT(E)

205 D=D+10*B*(E-A) @ B=2*B

210 IF A THEN 200

300 DISP "(2)";C;"="D


DECBIN (130 bytes)


100 DISP "DEC>BIN" @ WAIT .5

105 DESTROY A,B,C,D

110 INPUT "DEC? ";D

115 B=0 @ A=D @ C=1

200 E=D/2 @ D=INT(E)

205 B=B+C*(D<E)

210 C=C*10

215 IF D THEN 200

300 PRINT A;"=(2)";B



TI-84 Plus CE Programs:  BINDEC2, DECBIN2



BINDEC2


"V.2"

Disp "BIN>DEC"

Input "BIN? ",A

1→B:0→D:A→C

Lbl 2

A/10→E:iPart(E)→A

D+10*B*(E-A)→D

2*B→B

If A:Goto 2

Disp "(2) "+toString(C)+"= "+toString(D)



DECBIN2


"V.2"

Disp "DEC>BIN"

Input "DEC? ",D

0→B:D→A:1→C

Lbl 2

D/2→E:iPart(E)→D

B+C*(D<E)→B

10*C→C

If D:Goto 2

Disp toString(A)+"=(2) "+toString(B)


This is recommended for only integer values of 512 (decimal base) or less.  


Example


Decimal: 476  (DEC>BIN)

Result Binary:  111011100


Binary:  10111011 (BIN>DEC)

Result Decimal:  187



Source


Craig, John Clark.  119 Practical Programs For The TRS-80 Pocket Computer  TAB Books Inc.  Blue Ridge Summit, PA.  1982 pg. 133



Happy computing,

Eddie 



All original content copyright, © 2011-2022.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author. 


Python: Drawing a Ring of Circles

Python: Drawing a Ring of Circles The goal: Draw a number of circles that revolve around the origin (0,0). The center of each circle i...