算法和数据结构
ZeroCBoy
世上不缺武林秘籍,缺的是一颗潜心修炼的心。
展开
-
快速幂
int power(int b,int e){ if(e==0) return 1; if(e%2==0) return power(b*b,e/2); return b*power(b*b,e/2); }//快速幂的实现程序,可以理解为幂数被转换为二进制形式,然后对位为1的逐位乘上去。 //例如2^5将5转换成二进制101,2^1*2^4简单点的实现方式可以这样:原创 2016-06-07 08:52:12 · 607 阅读 · 0 评论 -
巧妙计算一个数二进制表示法中1的位数
//巧妙计算一个数二进制表示法中1的位数。int fun(unsigned int n){ n=(n&0x55555555)+((n>>1)&0x55555555); n=(n&0x33333333)+((n>>2)&0x33333333); n=(n&0x0f0f0f0f)+((n>>4)&0x0f0f0f0f); n=(n&0x00ff00ff)+((n>>8)&0x00ff00f原创 2016-06-01 12:23:14 · 1067 阅读 · 0 评论