Date: Sun, 10 Aug 2003 19:12:06 -0400 Message-Id: <200308102312.h7ANC6mQ021365@envy.delorie.com> From: DJ Delorie To: djgpp-workers AT delorie DOT com In-reply-to: <9003-Sun10Aug2003222306+0300-eliz@elta.co.il> Subject: Re: Anomaly in printf() References: <1e0 DOT eca6e87 DOT 2c67e363 AT aol DOT com> <200308101817 DOT h7AIHDhr019129 AT envy DOT delorie DOT com> <9003-Sun10Aug2003222306+0300-eliz AT elta DOT co DOT il> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Is it? We are printing a long double, which IIRC has 19 significant > digits. The ``error'' here happens in the 20th digit, unless I'm > mistaken. Long doubles have 64 bits of mantissa, with a separate sign. We should have no problems representing, and thus printing, 2**64-2. The fact that Linux can get it right means that the format can represent the numbers just fine.