Archived

This topic is now archived and is closed to further replies.

Austrian Coder

double precision

Recommended Posts

Hi! Whats is different between double precision and float precision? Should such a feature (switching between this modes in realtime) implantated in a good engine? Thanks, Austrian Coder

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
if float (single precision) is fine, don''t go to double precision. gfx cards only handles single precision anyway.

Share this post


Link to post
Share on other sites
i think single precision floating points use 32 bits and doubles use 64 bits . . . i think, im sure someone will jump in and correct me if im wrong.

Share this post


Link to post
Share on other sites
float is 4 bytes and allows for -2.0E8 to 2.0E8 or something like that and a double is 10 bytes which obviously changes the percise the result is.

A float will round very easy. a double will round but have alot closer to real numbers that humans would figure if the as the number is spread behind the decimal.

a double double is something like 12 bytes. or something?

Share this post


Link to post
Share on other sites
a float or should I say IEEE float is
1 bit is sign
8 bits are the matanis
23 bits are the float point.


it works out to be something like
Sign matanis*float is the value....

and a 10 byte double has something like


1 bit is sign
26 bits are the matanis
53 bits are the float point.
same equation. If I remember the breakdown correctly

Share this post


Link to post
Share on other sites
the mantissa is the whole number part of the floating point number, i.e. 3.1459 . . .

the 3 is the mantissa and the rest is the floating point part.

once again, i think ...

Share this post


Link to post
Share on other sites
the mantissa is the number before the exponent in scientific notation for example:
6.23512 X 10^31
the 6.23512 is the mantissa and 31 is the exponent
this is really a silly question though look it up on the web...

Share this post


Link to post
Share on other sites
the mantissa is the number before the exponent in scientific notation for example:
6.23512 X 10^31
the 6.23512 is the mantissa and 31 is the exponent
this is really a silly question though look it up on the web...

Share this post


Link to post
Share on other sites
If the above didn''t clarify the difference between floats and doubles, here''s a simpler explanation.

floats are data types that can contain fractional parts of a number, such as 123.456, whereas integers can only store whole numbers such as 123456. I''m sure you already knew that.

floats are 32 bits, or 4 bytes, long, and are acturate to approximately 7 digits. This can be a problem if you want to store data with more precision. Consider the following:

the number 123.456789123, when stored as a float would actually be 123.4568 (approx) - remember it''s only accurate to 7 digits. This is more apparent with largers numbers such as 123456789 - this would be stored as 123456800. You can see that it isn''t really that accurate. That''s where doubles come into play.

doubles are stored in 64 bits, or 8 bytes, and are accurate to 15 digits. so the number 123.456789123 would be stored correctly. Likewise would the number 123456789.

That''s all the is too it.

Regards

PS - I should tell you that all calculations in the CPU are done as doubles, then rounded down to floats (if using a float data type) when storing back in memory, so there is no speed difference from the CPU''s point of view. However, because doubles take up twice as much memory, it takes slightly longer to get the data from memory into the CPU.

Share this post


Link to post
Share on other sites