[<< wikibooks] A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Binary fractions
== Binary Fractions ==
So far we have only looked at whole numbers (integers), we need to understand how computers represent fractions.
You should have learned at Primary School how a decimal fraction works:

As you can see, the column headings have been extended to

10

−
1

=

1
10

{\displaystyle 10^{-1}={\frac {1}{10}}}
and

10

−
2

=

1
100

{\displaystyle 10^{-2}={\frac {1}{100}}}
. We can do the same thing in binary with the column headings

2

−
1

=

1
2

{\displaystyle 2^{-1}={\frac {1}{2}}}
,

2

−
2

=

1
4

{\displaystyle 2^{-2}={\frac {1}{4}}}
, and so on. The number 12.75 in 8 bit binary with 4 bits after the binary point is therefore 8 + 4 + 0.5 + 0.25:

Notice that for the same number of bits after the point, the binary fraction provides less accuracy. It can only take 4 different values, whereas the decimal number can have 100 different values with two digits.  You'll see in a moment how this can cause trouble.

So you might ask how a computer does complicated mathematics if it struggles so hard with fractions.  The answers we have looked at so far have only used one byte, computers can use far more space than this.  They can also manipulate the number of bits they have been given in two ways:

increase the number of bits to increase range of number
increase number of bits after the decimal point to increase accuracyIn practice they will also use clever techniques such as floating point numbers that you will meet in A2.