On 16 Dec 2018, at 2:54pm, Wout Mertens <wout.mert...@gmail.com> wrote:

> imagine having to handle the Zimbabwean Dollar, which ended up having 100 
> trillion dollar notes. Good way to overflow your integers.

Indeed.  But when the crisis started in the early 2000s, the currency was 
devalued by 1000.  Then ten zeros were wiped out at a stroke.  And then another 
twelve zeros were slashed to make the "fourth Zimbabwe dollar".

So if you were going to keep track of an account with Z$1 old and Z$1 new you'd 
need a precision capable of keeping track through 3+10+12 = 25 zeros, or 
amounts like

10,000,000,000,000,000,000,000,001

The precision of double-precision floats, 52-bit significand, is 2^52 = 4.5e15. 
 Just to store one new Z$.  If someone has ten new dollars in their account you 
could no longer keep their account even in double-precision floating point.  
You would have needed quad-precision (2^112 = 5.2e33), and banks weren't using 
that at the time even to do calculations.  (I don't know what they use now, I'm 
not in the industry.)

Didn't matter, anyway, since Zim banks just agreed to truncate amounts less 
than newZ$0.01 .

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to