# Real data type

A real data type is a data type used in a computer program to represent an approximation of a real number. Because the real numbers are not countable, computers cannot represent them exactly using a finite amount of information. Most often, a computer will use a rational approximation to a real number.

## Rational numbers

Main article: rational data type

The most general data type for a rational number stores the numerator and denominator as integers. See Integer.

## Fixed point numbers

A "fixed point" data type assumes a specific denominator for all numbers. The denominator here is most often a power of two. For example, in a system whose denominator is 65,536 (216), the hexadecimal number 0x12345678 means 0x12345678/65536 or 305419896/65536 or 4660 + 22136/65536 or about 4660.33777. See fixed-point arithmetic.

## Floating point numbers

Main article: floating point

A "floating point" type is a compromise between the flexibility of a general rational type and the speed of fixed-point arithmetic. It uses some of the bits in the data type to specify a power of two for the denominator. See floating point and IEEE Floating Point Standard.