Hi,
65536 * 0.5464 ----> shouldn't this be 65535 * 1.5464?
Idealy, yes. But that would result in a value larger than 65535 which won't work without resorting to LONGs. So I treat what's on the right hand side of the decimal point separately from what's on the left hand side which is why I first multiply ADValue by 0.5464 and then ADD the ADValue to that result to get the 1.5464. See if this makes more sense:
Code:
Result = ADValue + (ADValue ** 35809)   ' ~Same as ADValue * 1.5464
Since you're using an 18F part you atleast have the option to use LONGs so if you ARE then by all means go ahead and try Result = ADValue ** 101345, it should work.

Hope I don't make it more confusing....

/Henrik.