You have a 64-bit IEEE floating point real. You wish to print it in decimal in the format 1.2345e17. Note: Any such real always has a finite-length printout. But here is the thing: I want that printout to be accurate. If you, during the conversion to base 10, make any roundoff error at all, then you lose. If you are required to make the printout fit inside N characters, then roundoff is ok, but only the smallest possible roundoff error consistent with fitting the output into N characters. (W.Edwin Clark and I are wondering whether the C printf function actually does the right thing, or whether for like 30 freaking years they've been using a bogus print function without telling anybody.) A google search found the following paper about their former paper with same title: Guy L. Steele Jr. & Jon L White: How to Print Floating-Point Numbers Accurately http://grouper.ieee.org/groups/754/email/pdfq3pavhBfih.pdf where it said the former paper was "20 years in the making." If it took them 20 years to figure it out, and they published in >=1990, then I claim that the authors of the C language could not know about this paper, hence quite likely they screwed it up. Further, this paper contains various depressing words, indicating the considerable likelihood that a programming language near you has a print statement which does not work.