# HP Forums

Full Version: Round off error calculation example
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I came across this example from youtube about the round off error on the older computer start from the earlier Pentium CPU which is about the floating point units. Here is the sample: ((2^54)+1)-(2^54) = 0 or 1 ?

I try this on two calculators Casio fx-300ES result is 0 and HP Prime result is 0
and try on the Google Search Calculator result is 0 and on the HP OmniGo 100 result is 0
Only from the WolfarmAlpha website gave result to 1
For the Prime you should add that you did it in Home-View, the CAS provides the desired 1.
Arno
(07-23-2017 10:29 AM)Arno K Wrote: [ -> ]For the Prime you should add that you did it in Home-View, the CAS provides the desired 1.

Ditto for the HP 49/50g in exact mode, for the same reason.
(07-23-2017 10:16 AM)Gamo Wrote: [ -> ]I came across this example...

A good discussion with a great example here: LINK

The example if Hungarian isn't your native: plot (1+1÷(2^n+1))^(2^(n+1)), n=0...50

The result on TI-83+:

The estimation where simplification occurs: 1÷(2^N+1)=5×ALOG(-(B+1)), where N is the function calculated value changed to 1 (where round off error present) and B+1 is the internal digits of calculator. On TI83+: N~44.19 and B+1=14 (on the picture the beginning of the round-off shown, on the upper picture you can see, where and how the value changed to 1).

Csaba
(07-23-2017 10:16 AM)Gamo Wrote: [ -> ]I came across this example from youtube about the round off error on the older computer start from the earlier Pentium CPU which is about the floating point units. Here is the sample: ((2^54)+1)-(2^54) = 0 or 1 ?

I try this on two calculators Casio fx-300ES result is 0 and HP Prime result is 0
and try on the Google Search Calculator result is 0 and on the HP OmniGo 100 result is 0
Only from the WolfarmAlpha website gave result to 1

Sure. This is the expected result.

2^54 = 18 014 398 509 481 984. This is a number with 17 digits. The standard IEEE754 floating point format has 15-16 decimal digits. It works with 52 resp. 53 bit precision, that's why the example uses 2^54. Most calculators even work with merely 10 or 12 digits. So in any case 2^54 cannot be represented exactly, and of course adding or subtracting 1 does not make any difference as only the 17th digit is affected.

Example: on an 12-digit machine you get 2^54 = 1,80143985095 · 10^16. Add one and the result still is 1,80143985095 · 10^16. Finally subtract 1,80143985095 · 10^16 and – of course – you get zero.

BTW the Windows calculator works with 30+ digits, so it returns 1 here. ;-)

Dieter
(07-23-2017 05:07 PM)Dieter Wrote: [ -> ]BTW the Windows calculator works with 30+ digits, so it returns 1 here. ;-)

Dieter

As does the SwissMicros DM42 and Free42 decimal.

Mark Hardman
(07-23-2017 06:32 PM)Mark Hardman Wrote: [ -> ]
(07-23-2017 05:07 PM)Dieter Wrote: [ -> ]BTW the Windows calculator works with 30+ digits, so it returns 1 here. ;-)

As does the SwissMicros DM42 and Free42 decimal.

Let's not forget the WP34s (double precision mode), and even the 31s internally uses (at least) 34 digits.

BTW, Free42 has 34 digit BCD precision, but as far as I remember not all functions deliver results with that accuracy. This also is not guaranteed for the WP34s.

Dieter
Thanks everyone now I got it about the IEEE standard.
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :