Broad sweeping statements regarding performance are almost always false, and certainly in this case. Quite often, extrapolations from benchmarks are also false due to the nature of the implicit changes in the extrapolation.
If you are attempting to increase performance, I strongly suggest you use a profiler to determine that your arithmetic is negligible by many orders of magnitude to some other potential bottlenecks.
Originally posted by Drew Lane: I read that performance can be improved by using bit shifting in place of division.
That *might* be true at the machine language level, depending on the platform. A good compiler will do this optimization automatically where appropriate, so it's best not to worry about it, but to worry about making your code communicate intent.
Is it possible to do this with denominators other than 2?
No, not in architectures that use the binary system to represent numbers.
Remember how in the decimal system you can divide by powers of ten simply by moving the decimal point? That's fully equivalent to a bit shift.
Moving to our Performance forum...
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus