Generally, with algorithms relying on shift-divide and shift-multiply steps, there shouldn’t be much of a difference, since this is mostly a matter of adjusting the values in the registers. Generally, algorithms will be advertised as fractional (with the decimal point to the left of the most significant bit), but if you align values right (padding to the left with zeros), values can be assumed as integer. But don’t ask me, if this still holds up for transcendental functions. Most of these involve multiple computational steps and precision will be lost on the lower end. So, if we align to the right, there should be some impact.
But, of course, there’s the famous Minsky circle algorithm,
XNEW = XOLD − epsilon × YOLD
YNEW = YOLD + epsilon × XNEW
(which isn’t exactly trigonometry, but close and works on integer coordinates.)
This is a variation on the well known formula,
x’ = x × cos(θ) − y × sin(θ)
y’ = x × sin(θ) + y × cos(θ)
with the common shortcut assumptions that the cosine will approach 1 for small values of θ and that the sine will approach θ for small values (as known from some video games), which is guaranteed by our small (less than zero) epsilon, which can be transformed to,
XNEW = XOLD − epsilon × YOLD
YNEW = YOLD + epsilon × XOLD
This, however, is not a circle and will result in an increasing spiral.
Somehow, Minsky’s error self-corrects this. It will be still not exactly a circle, though, rather a fat ellipse rotated by 45°.
So, how does this work? Well, for any conical (function which wraps around a cone), we can tell from its determinant (|A|), if it is to return to where it started. Only if this is 1, the conical will loop.
So, looking at our defective shortcut version,
XNEW = XOLD − epsilon × YOLD
YNEW = YOLD + epsilon × XOLD
which is
⎛ xn+1 ⎞ ⎛ 1 −ε ⎞ ⎛ xn ⎞
⎜ ⎟ = ⎜ ⎟ ⎜ ⎟
⎝ yn+1 ⎠ ⎝ ε 1 ⎠ ⎝ yn ⎠
the determinant is (1×1)−(−ε×ε) = 1+ε² > 1, thus the spiral.
However, the Minsky version gives us
⎛ xn+1 ⎞ ⎛ 1 −ε ⎞ ⎛ xn ⎞
⎜ ⎟ = ⎜ ⎟ ⎜ ⎟
⎝ yn+1 ⎠ ⎝ ε 1−ε²⎠ ⎝ yn ⎠
which indeed cancels out the error (ε²): (1×(1−ε²))−(−ε×ε) = 1−ε²+ε² = 1
So, while not exactly a circle, it will still loop and with small values of epsilon (as may be achieved by right-shifts), it will be close.
Gene Salamin gave another explation in HAKMEM, Item 152, but this is still generally the same concept.
(Rich Schroeppel already hinted at having a look at the predecessor in HAKMEM, Item 150.)