Fractional fixed point (often referred to as "Q" format) is efficient -- you choose exactly the precision you need, no less and no more -- and the bookkeeping exercise of keeping track of the radix point is not a big deal.
This is actually what I used in my final implementation - We'll get to that in a few weeks, I suppose.... (Max willing)
@Brian: There's some nice material about constant division on the companion website for "Hacker's Delight"
I was going to mention that book Hacker's Delight -- it's a great book -- lots of useful tricks in it. I just now found there's a second edition (the link above) -- I have th efirst -- I'll have to add this second edition to my wish list :-)
@Kris: Pretty cool math...I wonder whether they teach something like that in vlsi classes...
I'd be interested to knwo that myself -- but I fear not. When I started out, everyone knew and "swapped" tips and tricks like this -- it was key to making programs run as fast as possible when you were limited in terms of memory size, clock frequency, and the fac tthat CPUs too multiple cycles to do anything.
Magazines like BYTE were always publishing stuff like this... I love this stuff