The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 795 - File: showthread.php PHP 7.4.33 (FreeBSD)
File Line Function
/showthread.php 795 errorHandler->error





Post Reply 
HP-71 BASIC funny quirks
01-27-2023, 08:55 AM
Post: #1
HP-71 BASIC funny quirks
In a recent thread, I pointed out a little annoyance of the HP-71B BASIC: small constant values in programs are decompiled in STD format, e.g. 1E-10 is decompiled as 0.0000000001

Spending some more time on it (including a study of the source code), I found these other rather strange effects:

1. In STD mode, results are displayed without scientific notation if they completely fit within 12 signs (plus possible sign and decimal point):
e.g. 0.123456789012 is display as ".123456789012"
but 0.0123456789012 causes a switch to SCI mode and is displayed as "1.23456789012E-2"
This is different from the constant values in a program that can have more than 12 signs, for instance:
10 C=.123456789012
11 C=.0123456789012
12 C=.00123456789012
or even more weird enter "15 C=1.23456E-10" and see "15 C=.000000000123456"

2. Related to the point above, there is this real bug of the HP-71B 1BBBB:
enter "50 C=1.234567E-10" and see "50 C=.000000"
The bug is referenced as 1148-6 in the HP-71B bug list. It has been "fixed" on the 71B 2CDCC, but the fix is more a workaround to correct the visible effect of the bug and doesn't implement what was, probably, the initial intent and so produces this unexpected effect:

3. Enter the program line "21 C=1E-10", and get:
21 C=.0000000001
now enter "22 C=1E-11", and get:
22 C=.00000000001 on the version 1BBBB as expected according to the 71B logic,
but surprisingly we get:
22 C=1.E-11 on the HP-71B version 2CDCC.


A few more harmless quirks:

4. A value such as 1E12 is displayed as "1.E12" if it's a numeric result , but as "1.E+12" with an explicit exponent sign if it's a constant in a program:

5. Leading zeros are ignored but not trailing zeros:
enter "25 C=000123.123000"
and see:
25 C=123.123000

6. Key in line "30 C=1E10"
and take note of the program size with CAT,
then fetch line 30, see it displayed as "30 C=10000000000" and validate it again by ENDLINE,
the program size, reported by CAT, is now increased by four bytes.
You can revert to the previous size by entering the line again as "30 C=1E10"

J-F
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP-71 BASIC funny quirks - J-F Garnier - 01-27-2023 08:55 AM
RE: HP-71 BASIC funny quirks - Albert Chan - 01-27-2023, 02:56 PM
RE: HP-71 BASIC funny quirks - J-F Garnier - 01-27-2023, 04:21 PM
RE: HP-71 BASIC funny quirks - robve - 01-27-2023, 10:35 PM
RE: HP-71 BASIC funny quirks - robve - 01-28-2023, 02:55 AM
RE: HP-71 BASIC funny quirks - Albert Chan - 01-28-2023, 12:39 PM
RE: HP-71 BASIC funny quirks - J-F Garnier - 01-28-2023, 05:03 PM
RE: HP-71 BASIC funny quirks - brouhaha - 01-28-2023, 04:03 AM
RE: HP-71 BASIC funny quirks - robve - 01-28-2023, 02:51 PM



User(s) browsing this thread: 5 Guest(s)