that can be stored in this fixed-point format. However, will work as a scale factor, because the maximum scaled value, = 14., fits within this range. Given this set: 154, 101, 54, 3, 0, 160 Scaling these with the scale factor gives the following values: 154/11 = 14 101/11 = 9.1818... 54/11 = 4.9090... 3/11 = 0.2727... 0/11 = 0 160/11 = 14.5454... Many of these values have been truncated because they contain repeating decimals, which follows from the chosen scale factor (elevenths do not terminate in decimal). When storing these in our fixed-point format, some precision will be lost (in contrast to the exact values of the original integers). This is also a problem because an 8-bit format can store 256 different values, but the numbers in this set are from a range with only 161 possible values (0 through 160). As it turns out, the problem was the scale factor, , which introduced unnecessary precision requirements and rounding error (when approximating a real value with the nearest representable value). To avoid or resolve this problem, one must choose a better scale factor. Choosing a scale factor The example above illustrates how certain scale factors can cause unnecessary precision loss or rounding error, highlighting the importance of choosing the right scale factor. Using the scale factor of and converting to binary representations, the following values are obtained: 154/11 = 14 = 1110.0 101/11 = 9.1818... = 1001.00101110... 54/11 = 4.9090... = 100.111010... 3/11 = 0.2727... = 0.010010... 0/11 = 0 = 0.0 160/11 = 14.5454... = 1110.10010... Several of the binary fractions require more than the four fractional bits provided by the set fixed-point format. (This is in part because elevenths do not terminate in binary either.) To fit them into the fields (4 integer and 4 fractional bits), it is possible to truncate the remaining bits, giving the following stored representations: 1110.0000 1001.0010 0100.1110 0000.0100 0000.0000 1110.1001 Or in decimal: 14.0 9.125 4.875 0.25 0.0 14.5625 When they are called back into the real world, they are divided by the scale factor, . This is the inverse of the original scaling, giving the following "real world" values: 154.0 100.375 53.625 2.75 0 160.1875 These values are not equivalent to the originals (before scaling down and fitting into this 8-bit representation). Most noticeably, they are not all integers anymore, immediately indicating that an error was introduced in the storage,