学硕爆冷全录,又一所!要炸!
2026/10/11 3:44:21
unsigned int类型中 1 的个数intcount_bits(unsignedinta){unsignedintx=a;x=x-((x>>1)&0x55555555);///< 1: ->相邻2位 "1" 的个数和x=(x&0x33333333)+((x>>2)&0x33333333);///< 2: ->相邻4位 "1" 的个数和x=(x+(x>>4))&0x0f0f0f0f;///< 3: ->相邻8位 "1" 的个数和x=x+(x>>8);///< 4: ->相邻16位 "1" 的个数和return(x+(x>>16))&0xff;///< 5: ->相邻32位 "1" 的个数和}