原理:
2的整数次幂且奇数位置1的数为4分整数次幂,此算法可以扩展到求(2^n)的整数次幂,对于8的整数次幂,只需要将N-2改为N-3即可,对于16的整数次幂,需要将mask<30>改成mask<28>并将N-2改成N-4.也就是,对于(2^n)的整数次幂,我们只需要改两个地方
1.将mask<30>中的30改成32位整形中(2^n)最大的幂二进制表示中最高有效位的位置
2.将N-2改成N-n
原理:
2的整数次幂且奇数位置1的数为4分整数次幂,此算法可以扩展到求(2^n)的整数次幂,对于8的整数次幂,只需要将N-2改为N-3即可,对于16的整数次幂,需要将mask<30>改成mask<28>并将N-2改成N-4.也就是,对于(2^n)的整数次幂,我们只需要改两个地方
1.将mask<30>中的30改成32位整形中(2^n)最大的幂二进制表示中最高有效位的位置
2.将N-2改成N-n