Scale Factor (computer Science) - Picking A Scale Factor

Picking A Scale Factor

An example above illustrated how certain scale factors can cause unnecessary precision loss. We will revisit this example to further explore the situation.

We're storing representations of real data in 8 bit unsigned fixed point fields with 4 integer bits and 4 fractional bits. This gives us a range of in decimal, or in hex. Our real world data is all integers and in the range in decimal. Note that there are only 161 unique values that we may want to store, so our 8 bit field should be plenty, since 8 bits can have 256 unique configurations.

In the example given above, we picked a scale factor of 11 so that all the numbers would be small enough to fit in the range. However, when we began scaling the following real world data:

154, 101, 54, 3, 0, 160

We discovered that the precision of these fractions is going to be a problem. The following box illustrates this showing the original data, its scaled decimal values, and the binary equivalent of the scaled value.

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...

Notice how several of the binary fractions require more than the 4 fractional bits provided by our fixed point format. To fit them into our fields, we would simply truncate the remaining bits, giving us 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

And when we need to bring them back into the real world, we need to divide by our scale factor, 1/11, giving the following "real world" values:

154.0 100.375 53.625 2.75 0 160.1875

Notice how they've changed? For one thing, they aren't all integers anymore, immediately indicating that an error was introduced in the storage, due to a poor choice of scaling factor.

Read more about this topic:  Scale Factor (computer Science)

Famous quotes containing the words picking a, picking, scale and/or factor:

    Cripples, above all men, should be companionable, or, at least, refrain from picking a fellow-limper to pieces.
    Herman Melville (1819–1891)

    Cripples, above all men, should be companionable, or, at least, refrain from picking a fellow-limper to pieces.
    Herman Melville (1819–1891)

    The most perfect political community must be amongst those who are in the middle rank, and those states are best instituted wherein these are a larger and more respectable part, if possible, than both the other; or, if that cannot be, at least than either of them separate, so that being thrown into the balance it may prevent either scale from preponderating.
    Aristotle (384–322 B.C.)

    It is change, continuing change, inevitable change, that is the dominant factor in society today. No sensible decision can be made any longer without taking into account not only the world as it is, but the world as it will be.... This, in turn, means that our statesmen, our businessmen, our everyman must take on a science fictional way of thinking.
    Isaac Asimov (1920–1992)