I'm not sure whether this subject has been discussen on the forum befor or not, but when I try to calculate the logaritm of large numbers with my new 20b I get the wrong answers.

Some examples (correct answer in parenthesis):

log(1e10)=10 (10)

log(1e15)=15 (14)

log(1e16)=10 (16) <- wrong answer

log(1e200)=128 (200) <- wrong answer

ln(1e15)=34.538... (34.537...)

ln(9.99999999999e15)=36.841... (36.841...)

ln(1e16)=23.025... (36.841...) -> wrong answer

The error seems to appear at log(1e16) and above and for both ln and log. Also y^x (which I assume uses ln) gives the wrong answers for large arguments:

1e16^.5=1e5 (1e8) <- wrong answer

while sqrt(1e16)=1e8

My unit is has serial number CNG82804713 and is brand new.

Has anyone observes these errors before and will there be an update of the calculator software to correct the bug.

Appart from this bug and the hopeless fell of the keyboard I think the 20b is a nice calculator combining business function with trigonometric functions and statistical distributions.

Regards, Michael

Thanks for pointing this out. Errors involving logarithms used to occur only in non-HP calculators. See this old thread, Errors in Calculators.

The QBASIC program below, based on Taylor series (see message #4 in the mentioned thread) is far from perfection but gives correct answers to your examples:

1 DEFDBL A-L: DEFINT M-N: DEFDBL O-Z

5 M = 0

10 INPUT X

12 IF X <= 1 THEN GOTO 18

14 X = X / 10: M = M + 1

16 GOTO 12

18 IF X > .1 THEN GOTO 20

19 X = 10 * X: M = M - 1: GOTO 18

20 Y = 10 * X

30 X = 1 - X

32 T = INT(Y * (Y * (Y * (Y * (Y * (.0138889 * Y - .51987) + 7.87) - 61.88) + 269.76) - 642) + 744)

40 L = X / T

50 FOR N = T - 1 TO 1 STEP -1

60 L = X * (1 / N + L)

70 NEXT N

80 L = -L / 2.302585092994046# + M

90 PRINT USING "##.################"; L; : PRINT " "; : PRINT USING "###"; T

? 2

0.3010299956639812 154

? 0.0005

-3.3010299956639810 54

? 20000

4.3010299956639810 154

? 400

2.6020599913279630 71

? 1.1000001

0.0413927246395400 292

? 1e6

6.0000000000000000 21

? 1e200

200.0000000000000000 21

Gerson.

Gerson:

You wrote

Quote:

Errors involving logarithms used to occur only in non-HP calculators.

But, the early HP-35's had a bug such that 2.02 ln e^{x} was equal to 2 . Is there a discussion somewhere that tells whether the problem was in the ln calculation or in the e^{x} calculation?

Palmer

Michael --

Please read the thread that Thomas Klemm linked. You will find that the common-logarithm errors were present on an earlier firmware version, which, I would say, ought not to have been released for commercial sale.

Each attendee of the HHC 2008 event in Corvallis received a new HP-20b. Mine has a later serial number CNG83300019, and it does not exhibit the flaws that yours does.

In my opinion, you're entitled to an exchange. Gross math errors like those are unacceptable.

-- KS

Interesting. I, like Karl, got a 20b at the HHC2008 conference serial number CNG83300332 - which does not exhibit the problem.

I already had an older 20b - serial number CNG82800049. Which also does not exhibit the problem. This appears "older" than Michael's serial number of CNG82804713.

-Mike

*Edited: 6 Jan 2009, 12:49 a.m. *

Michael, can you post the exact key strokes you used to generate the error starting from factory default power-on conditions?

50 e^x

LN

display may not show 50 as it should.

Quote:

Michael, can you post the exact key strokes you used to generate the error starting from factory default power-on conditions?

An example:

[1] [shift] [EEX] [5] [0] [shift] [Math] [up] [INPUT]

Result: 32, correct answer 50.

I've tried to contact HP on the subject but have so far not recieved an answer.

Mike --

As I stated above, you should get that unit exchanged.

-- KS

I'm sure HP is aware of the problem. However, almost two weeks have gone since I contacted the support and I have not yet recieved an answer.

Michael, don't hold your breath. I contacted them twice, over 6 months ago, about an error in one of their web pages, and the error is still there.