No prob Chris,
For a lot of things, you really don't need Floating Point math.
When multiplying and dividing, the decimal point doesn't matter (until you get the final answer).
For X * 0.040909 ...
Just drop any leading 0's and keep anything that will fit with-in 16-bits (<=65535). Anything more, and you have to drop digits to the right.
At the end, you'll remember that the decimal point shifted 6 places to get that.
Which leaves 40909. Multiply that times the number you are converting.
Since the number had 6 decimals, and you want 2 decimals left in the result ... then there are 4 decimals unaccounted for.
Ang = DIV32 10000
Dividing by 10,000 shifts it those 4 decimal places. 1 decimal for each 0.
And yes, it's WAAYYY bigger than 16-bits.
But the multiplication result is temporarily stored in PBP's system variables as a 32-bit number before using DIV32. So a larger than 16-bit variable is not required.
hth,
Bookmarks