Formulas 2.1. Representation of numbers

Formulas can work with integer numbers as well as with real numbers.

## Real numbers

You can type many real numbers by using a decimal notation, for instance 3.14159, 299792.5, or -0.000123456789. For very large or small numbers, you can use the e-notation: 6.022·1023 is typed as `6.022e23` or `6.022e+23`, and -1.6021917·10-19 is typed as `-1.6021917e-19`. You can use also use the percent notation: 0.157 can be typed as `15.7%`.

There are some limitations as to the values that real numbers can have in Praat. The numbers must lie between -10308 and +10308. If you type

`1e200 * 1e100
`

the outcome will be

`1e+300
`

but if you type

`1e300 * 1e100
`

the outcome will be

`--undefined--
`

Another limitation is that the smallest non-zero numbers lie near -10-308 and +10-308. If you type

`1e-200 / 1e100
`

the outcome will be

`1e-300
`

but if you type

`1e-300 / 1e100
`

the outcome will be

`0
`

Finally, the precision of real numbers is limited by the number of bits that every real number is stored with in the computer, namely 64. For instance, if you type

`pi
`

the outcome will be

`3.141592653589793
`

because only 16 digits of precision are stored. This can lead to unexpected results caused by rounding. For instance, the formula

`0.34999999999999999 - 0.35
`

will result in

`0
`

rather than the correct value of 1e-17. This is because the numbers 0.34999999999999999 and 0.35 cannot be distinguished in the computer's memory. If you simply type

`0.34999999999999999
`

the outcome will be

`0.35
`

(as in this example, the calculator will always come up with the minimum number of digits needed to represent the number unambiguously).

Another example of inaccuracy is the formula

`1 / 7 / 59 * 413
`

Because of rounding errors, the result will be

`0.9999999999999999
`

## Integer numbers

Formulas can work with integer (whole) numbers between -1,000,000,000,000,000 and +1,000,000,000,000,000. You type them without commas and without the plus sign: 337, -848947328345289.

You can work with larger numbers than that (up to 10308), but there will again be rounding errors. For instance, the formula

`1000000000000000 + 1
`

correctly yields

`1000000000000001
`

but the formula

`10000000000000000 + 1
`

yields an incorrect outcome:

`1e16
`

### Links to this page

- Formulas
- Formulas 2. Representations