This scheme works pretty well on the 80860, where integer multiplication
is done by the floating point unit, anyway, so there isn't any efficiency
loss (well, hardly any efficiency loss) in converting to float. In any
case, I think the Metaware C compiler _does_ convert this division into a
multiplication, which is ok, since the divisor is a power of 2 and exactly
representable.

While we are on the subject, why don't ANSI C compilers open code the
math.h 'ldexp' function? When you need it, you really need it to be fast;
otherwise, it's pretty much useless. Most of the floating point units
have this functionality as a single instruction, so this shouldn't be a
big deal. The usual optimizations should apply -- a constant second
argument should be faster, etc.
--