在计算机程序中处理除法时候,如果注意到不同进制下除法和乘法运算的特性。可以写出很高效和简短的code。
1.对一个十进制做除法,如果除以10那么余数就是最后一位。除以100,余数就是最后2位。同理,如果把这个性质
推广到2进制。那么可以快捷的实现一些运算。如:要求一个数除以32的余数,也就是 i mod 32.可以简单的通过
( i >> 5) & 0X1F来实现。这样比直接做除法高效的多。利用这些位运算还可以组成位视图这种数据结构。 位向量在
某些内存很小,并且要处理大量数据的情况下,很有效。