PREV UP NEXT ANA

7.2.2.1: Numerical Data Types

ANA offers the following numerical data types:

BYTE
A BYTE number requires one byte of storage, and can have any integer value between 0 and 255 (#MAX_BYTE -- #MAX_BYTE -- inclusive). (2^8 - 1), inclusive.
WORD
A WORD number requires two bytes of storage, and can have any integer value between -32768 (#MIN_WORD -- #MIN_WORD) and +32767 (#MAX_WORD -- #MAX_WORD) (2^15 - 1), inclusive.
LONG
A LONG number requires four bytes of storage, and can have any integer value between -2147483648 (#MIN_LONG -- #MIN_LONG) and +2147483647 (#MAX_LONG -- #MAX_LONG) (2^31 - 1), inclusive.
FLOAT
A FLOAT number requires four bytes of storage, and has a single-precision floating-point value. The meaning of "single precision" depends on the way that floating-point numbers are represented inside your computer. On all computers, these values have at least 6 significant digits, and may have a magnitude at least as large as 10^37 and at least as small as (when larger than zero) 10^-37. The largest absolute value representable on your machine as a FLOAT is equal to #MAX_FLOAT (#MAX_FLOAT). The smallest representable non-zero absolute value is equal to #MIN_FLOAT (#MIN_FLOAT).

On machines that comply with the IEEE 754-1985 standard for binary floating-point arithmetic, values of type FLOAT may have the value zero and also values between about 7*10^-46 (2^-150) and 3*10^38 (2^128), as well as the special values Inf (too large for this data type) and NaN (Not-A-Number, for undefined results such as the square root of a negative number; see ISNAN).

DOUBLE
A DOUBLE number requires eight bytes of storage, and has a double-precision floating-point value. As for FLOAT values, the precision reached depends on your computer. These values have at least 10 significant digits, and have a range of magnitudes at least as large as that of a FLOAT value. The largest and smallest representable absolute non-zero values of type DOUBLE are #MAX_DOUBLE (#MAX_DOUBLE) and #MIN_DOUBLE (#MIN_DOUBLE).

On computers that comply with the IEEE 754-1985 standard for binary floating-point arithmetic, values of type DOUBLE may have the value zero and also values between about 1*10^-308 (2^-1075) and 4*10^308 (2^1025), as well as the special values Inf (too large for this data type) and NaN (Not-A-Number, for undefined results such as the square root of a negative number).

On computers that comply with the IEEE 754-1985 standard, the ratio 1.0/0.0 yields the value Inf (infinity), and that value is available in the global variable #INFTY. On computers that do not allow division by (floating-point) zero, #INFTY is equal to #MAX_FLOAT.

See also: #INFTY