`prev Menu next`

Option menu Numbers and Precision
This option designates the number manipulation on the program unit where no OPTION ARITHMETIC is written.

Decimal
  A numeric value that a numeric variable holds is a decimal 15 digits floating point number.
  The computational result of a numeric expression is rounded to 15 digits when it is assigned to a variable.
  Computational results are displayed rounded to 15 digits.
  When More Places Displayed option is selected, computational results are displayed without modification.
  Note. When 64 bit FPC is used on Windows, the precision of a variable is 13 digits, and operations may be less accurate.
Binary approximately 16 digits
  The smallest positive number is about 5.0E-324, and the largest positive number is about 1.7E308.
  Calculation is fast, though decimal fractions can not be represented correctly. Integers between -9007199254740992 and 9007199254740992 (253) can be represented correctly.
  Integers of type 10n is accurate if n is a positive integer of not greater than 1E36.
  On the other hand, decimal fractions as 0.1 and 0.01 are generally can not be represented correctly.
  When a number can not be represented correctly, it is approximated by a representable number.
  For example, 0.1 is approximated by a number that is slightly larger than the accurate value.
  The computational results are displayed rounded to decimal of 15 digits.
  When More Places Displayed option is selected, the precision increases up to 19 digits.
Complex
  Complex numbers are represented internally by a couple of binary double precision numbers.
  PRINT statements displays an imaginary number by putting the two numbers in parentheses.
  When the base is a positive number, exponents can be imaginary numbers on a power operation.
  When the base is an imaginary number, only exponents of integers between -2147483647 and 2147483647 are allowed.
  The domain of the functions ABS(x), SQR(x), EXP(x) and LOG(x) are extended to the complex numbers.
  The functions COMPLEX(x,y)，RE(x)，IM(x)，CONJ(x)，ARG(x) are provided exclusively on the complex operation mode.
  Transform functions SCALE and SHIFT are extended to the complex numbers.
  If an imaginary number is used anywhere else, an exception may be caused.

Refer to
OPTION ARITHMETIC
Complex Numbers