# Precision

Precision[x]

gives the effective number of digits of precision in the number x.

# Details • Precision[x] gives a measure of the relative uncertainty in the value of x.
• With absolute uncertainty dx, Precision[x] is -Log[10,dx/x].
• For exact numbers such as integers, Precision[x] is Infinity.
• Precision[x] does not normally yield an integer result.
• For any approximate number x, Precision[x] is equal to RealExponent[x]+Accuracy[x].
• For machineprecision numbers, Precision[x] yields MachinePrecision.
• Numbers entered in the form digits`p are taken to have precision p.
• Numbers such as 0``a whose overall scale cannot be determined are treated as having zero precision.
• Numbers with zero precision are output in StandardForm as 0.10-a, where a is their accuracy.
• If x is not a number, Precision[x] gives the minimum value of Precision for all the numbers that appear in x. MachinePrecision is considered smaller than any explicit precision.

# Examples

open allclose all

## Basic Examples(3)

Machine-precision number:

Arbitrary-precision number:

Exact number:

## Scope(2)

A zero known to accuracy 20:

The precision is 0.:

The precision of z+1 is the same as the accuracy of z:

N attempts to get a result correct to the given precision:

This cannot always be achieved: This is because relative error cannot be measured at zero and :

## Generalizations & Extensions(1)

The precision of a symbolic expression is the minimum of the precisions of its numbers:

## Applications(2)

Check the quality of a result:

Track precision loss in a repetitive calculation:

## Properties & Relations(2)

All machine numbers have the same precision, MachinePrecision:

This is 53 bits or about 16 digits:

For approximate numbers, Precision[x]==RealExponent[x]+Accuracy[x]:

## Possible Issues(4)

MachinePrecision is always considered effectively smaller than any explicit precision:

Numbers with sufficiently low precision are displayed with zero mantissa:

Since Precision is based on relative error, it is not measurable for zero: You can measure the absolute size of the error with Accuracy:

If you expect the result to be near zero, you can specify accuracy as a goal for N:

Subnormal machine numbers violate the relationship Precision[x]==RealExponent[x]+Accuracy[x]: Instead, all subnormal numbers have the same uncertainty as \$MinMachineNumber:

## Neat Examples(1)

Precision and Accuracy in iterating the tent map: