spec

Software for Diffraction

2.3.6. - Numeric Constants



Numeric constants can be integers or floating point numbers. Integer constants are considered octal if the first digit is 0. Valid digits in the rest of the constant are 0 through 7. A hexadecimal constant begins with 0x or 0X and is followed by digits or the letters a or A through f or F, which have values 10 through 15. Otherwise, a sequence of digits is a decimal constant.

Floating-point constants have an integer part, a decimal point, a fraction part, an e or E and an optionally signed exponent. The integer part or the fraction part, but not both, may be missing. The decimal point or the e and exponent, but not both, may be missing.

As spec stores number values internally in double-precision format, the range of integer and floating constants is determined by the range of double-precision numbers. With the usual 64 bits allocated for a double number, the significand uses 52 bits and the sign and exponent use 12 bits. Although signed integers can have values from ±263or unsigned values from 0 to 264, the values will only have 52 significant bits.

The following are valid numeric constants.
    65535  0177777    0xFFFF
    +1066  1.066e3  1.066e+3