 |
Flonums |
A flonum represents a floating point number. The translation is
indirect: a decimal floating point number from the text is converted by
as
to a generic binary floating point number of more than
sufficient precision. This generic floating point number is converted
to a particular computer's floating point format (or formats) by a
portion of as
specialized to that computer.
The version of as
used by TIGCC does not use TI's SMAP II BCD
format; it emits standard IEEE floating point numbers.
It would be pointless to implement the correct behavior, since the appropriate
numbers are easy to write, and converting between base 2 and 10 can
decrease precision.
A flonum is written by writing (in order)
-
The digit
0
.
-
A letter, to tell
as
the rest of the number is a flonum.
-
An optional sign: either
+
or -
.
-
An optional integer part: zero or more decimal digits.
-
An optional fractional part:
.
followed by zero
or more decimal digits.
-
An optional exponent, consisting of:
-
An
E
or e
.
-
Optional sign: either
+
or -
.
-
One or more decimal digits.
At least one of the integer part or the fractional part must be
present. The floating point number has the usual base-10 value.
as
does all processing using integers. Flonums are computed
independently of any floating point hardware in the computer running
as
.