Difference between revisions of "Floating Point"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>JOG
(The reason for the naming was sorting: Originally we had all variable-types in a row separated from the other articles.)
imported>DragoonWraith
m (thanks for adding - using the Wiki List syntax is recommended, however.)
 
(6 intermediate revisions by 5 users not shown)
Line 9: Line 9:




In school we learned how to write large numbers with exponents to save some space on paper and to make a calculation better readable: "1000000000" is the same as "10^9" and "1234000000" is "1.234 * 10^9" or "1.234E9". The same applies to small numbers: "0.000001234" is "1.234E-6"
In school we learned how to write large numbers as scientific notations to save some space on paper and to make calculations more easily readable: "1000000000" is the same as "10^9" and "1234000000" is "1.234 * 10^9" or "1.234E9". The same applies to small numbers: "0.000001234" is "1.234E-6"


When we have a limited length for the first floating point number (the "mantissa") very large or very small numbers will be truncated: Oblivion uses a precision of about 7 decimal-digits for the mantissa:
When we have a limited length for the first floating point number (the "mantissa") very large or very small numbers will be truncated: Oblivion uses a precision of about 7 decimal-digits for the mantissa:
Line 19: Line 19:
You can't display the numbers between 1,000,000,000 and 1,000,000,100 this way, because they would require 9 digits but only 7 are stored.
You can't display the numbers between 1,000,000,000 and 1,000,000,100 this way, because they would require 9 digits but only 7 are stored.


==See Also==
* [[Short Integer]]
* [[Long Integer]]


[[Category:Variables]]
[[Category:Variables]]

Latest revision as of 17:16, 15 October 2008

Float is a real number format that can store very high and very small values. The range goes from 1.18E-38 to 3.40E38

The format isn't always the best choice, though, because the technical implementation of this variable-format may cause some inaccuracies.(e.g all numbers from 2000000000 to 2000000064 are stored as 2000000000)


Why does this happen?

(In real-life floating point numbers are to the base 10. The computer uses the base 2, which makes things a bit more complicated, but the basics are the same, so I use the base 10 for this explanation).


In school we learned how to write large numbers as scientific notations to save some space on paper and to make calculations more easily readable: "1000000000" is the same as "10^9" and "1234000000" is "1.234 * 10^9" or "1.234E9". The same applies to small numbers: "0.000001234" is "1.234E-6"

When we have a limited length for the first floating point number (the "mantissa") very large or very small numbers will be truncated: Oblivion uses a precision of about 7 decimal-digits for the mantissa:

1.0000000E9 = 1,000,000,000

1.0000001E9 = 1,000,000,100

You can't display the numbers between 1,000,000,000 and 1,000,000,100 this way, because they would require 9 digits but only 7 are stored.

See Also[edit | edit source]