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, 160We 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.1001Or in decimal:
14.0 9.125 4.875 0.25 0.0 14.5625And 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.1875Notice 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:
“And Death fell with me, like a deepening moan.
And He, picking a manner of worm, which half had hid
Its bruises in the earth, but crawled no further,
Showed me its feet, the feet of many men,
And the fresh-severed head of it, my head.”
—Wilfred Owen (18931918)
“The same people who are murdered slowly in the mechanized slaughterhouses of work are also arguing, singing, drinking, dancing, making love, holding the streets, picking up weapons and inventing a new poetry.”
—Raoul Vaneigem (b. 1934)
“I own I never really warmed
To the reformer or reformed.
And yet conversion has its place
Not halfway down the scale of grace.”
—Robert Frost (18741963)
“You factor in racism as a reality and you keep moving.”
—Jewell Jackson McCabe (b. 1945)