[Bf-committers] Verse 2005 Errors

Emil Brink emil at obsession.se
Thu Sep 14 22:25:48 CEST 2006


Branan Riley wrote:
> 16,777,215 * 2^127.

Hm ... I don't think that is the correct interpretation of the bit pattern
as a float.

> Running that through Kcalc, I get 2.854495215270736302e+45. I'd do it out
 > by hand to get an exact number, but that's a 152-bit number, so I'm not
 > going to even think about it. If someone wants to run that through, and
 > see what comes up for the binary representation, that would be nifty.

Okay ... I think you lost me, though. I'm expecting the float literal
to have a decimal exponent of +38, that part has never been in doubt.
If the proper value has an exponent of +45, I'd be ... very surprised.

A quick test with the above value:

~> gcc -x c -
#include <stdio.h>
int main(void)
{
  float a = 2.854495215270736302e+45;
  printf("a=%g\n", a);
  return 0;
}
~> ./a.out
a=inf

Seems to show that you've lost not only me, but the C compiler as well.

Can you run that by me again?

Regards,

/Emil



More information about the Bf-committers mailing list