While there are certain principles about slow/fast operations that are based in the foundations of how math works on computers (division is hard, period) ... in most cases actual execution time results on contemporary compilers / processors can be surprising for a variety of reasons. At the end of the day, if you have to optimize individual operations for better performance (and you usually shouldn't), you should do it based on actual timing data.
Answers
Division is slower than multiplication. Integer division as well. :-B
Yeah but compilers can often optimize this so don't worry about this.
While there are certain principles about slow/fast operations that are based in the foundations of how math works on computers (division is hard, period) ... in most cases actual execution time results on contemporary compilers / processors can be surprising for a variety of reasons. At the end of the day, if you have to optimize individual operations for better performance (and you usually shouldn't), you should do it based on actual timing data.