section_path: Applications and connections/Computation
section_name: Computation
paragraph_text: Computation
  
  Electronic calculators and computers cannot operate on arbitrary real numbers, because finite computers cannot directly store infinitely many digits or other infinite representations. Nor do they usually even operate on arbitrary definable real numbers, which are inconvenient to manipulate.
  
  Instead, computers typically work with finite-precision approximations called floating-point numbers, a representation similar to scientific notation. The achievable precision is limited by the data storage space allocated for each number, whether as fixed-point, floating-point, or arbitrary-precision numbers, or some other representation. Most scientific computation uses binary floating-point arithmetic, often a 64-bit representation with around 16 decimal digits of precision. Real numbers satisfy the usual rules of arithmetic, but floating-point numbers do not. The field of numerical analysis studies the stability and accuracy of numerical algorithms implemented with approximate arithmetic.
  
  Alternately, computer algebra systems can operate on irrational quantities exactly by manipulating symbolic formulas for them (such as 2, {\textstyle {\sqrt {2}},} arctan 5, {\textstyle \arctan 5,} or ∫ 0 1 x x d x {\textstyle \int _{0}^{1}x^{x}\,dx}) rather than their rational or decimal approximation. But exact and symbolic arithmetic also have limitations: for instance, they are computationally more expensive; it is not in general possible to determine whether two symbolic expressions are equal (the constant problem); and arithmetic operations can cause exponential explosion in the size of representation of a single number (for instance, squaring a rational number roughly doubles the number of digits in its numerator and denominator, and squaring a polynomial roughly doubles its number of terms), overwhelming finite computer storage.
  
  A real number is called computable if there exists an algorithm that yields its digits. Because there are only countably many algorithms, but an uncountable number of reals, almost all real numbers fail to be computable. Moreover, the equality of two computable numbers is an undecidable problem. Some constructivists accept the existence of only those reals that are computable. The set of definable numbers is broader, but still only countable.