38E/C, 12C, 12CP date arithmetic bug Message #1 Posted by Katie Wasserman on 19 Oct 2011, 11:28 a.m.
A while back a date arithmetic bug was found during beta testing that affects all the 12C, 12CP, 38E/C and 12C clone calculators ever made. It's been unreported here (or anywhere else as far as I know), it's really obscure and was apparently fixed in the Pioneer series and after.
If you're not aware of this, the 38E/C and the 12C/CP calculators compute both 365 day calendar and 360 day calendar date differences in the X and Y registers respectively. If you take a forward date difference to February 28 both values (365/360) are correct. If you take a reverse date difference the 360 day value is wrong.
For example: 12/31/2007 to 02/28/2008 returns X=59, Y=58; while 02/28/2008 to 12/31/2007 returns X=-59, Y=-57 and that -57 is wrong. Pretty clearly backwards in time should be the same number of days as forwards in time.
While this is extremely unlikely to ever occur during normal usage, it's useful as a calculator forensic. You'll find that the 12C/12CP clone calculators -- the Aurora FN1000, Compucessory CCS 28956 and Victor V12 -- have the same bug. Prior to the 38E/C, the 92 offered 365/360 date arithmetic, but that gives different answers using 360-day calculations.
-Katie
Edited to correct 3/31/2008 to 03/01/2008, but that was the wrong date too, the correct date for the example is 02/28/2008.
Edited: 19 Oct 2011, 10:05 p.m. after one or more responses were posted
|