L
Leslaw Bieniasz
Hi,
I have Borland C++Builder 6.0 compiler, and I would be happy
to understand the implementation of long double variables in this
compiler. According to the help files and manuals, long double variables
are implemented using 10 bytes, they are supposed to have 18 significant
digits, and range from (about) 10^(-4932) to 10^(4932).
From my calculations, I see that the accuracy is indeed at this level.
However, I have been unable to perform any operations on numbers greater
than about 10^308, which is the maximum limit for double variables, not
long double. For example, an attempt to substitute:
long double x = 1.e309L;
produces exceptions during program execution.
Does anybody know what is the reason for this behaviour?
Am I possibly doing something wrong? Should I link any special
libraries, choose any special compiler options, or whatever?
Leslaw
I have Borland C++Builder 6.0 compiler, and I would be happy
to understand the implementation of long double variables in this
compiler. According to the help files and manuals, long double variables
are implemented using 10 bytes, they are supposed to have 18 significant
digits, and range from (about) 10^(-4932) to 10^(4932).
From my calculations, I see that the accuracy is indeed at this level.
However, I have been unable to perform any operations on numbers greater
than about 10^308, which is the maximum limit for double variables, not
long double. For example, an attempt to substitute:
long double x = 1.e309L;
produces exceptions during program execution.
Does anybody know what is the reason for this behaviour?
Am I possibly doing something wrong? Should I link any special
libraries, choose any special compiler options, or whatever?
Leslaw