知识点:
整数12的二进制表示为1100,将其减一变为1011,将得到的结果和原树进行按位与,得到1000。
把一个整数减去1之后再和原来的整数做按位与,得到的结果相当于是把整数的二进制表示中最右边的一个1变成0,按照这个规律进行遍历,则函数的循环次数为二进制中一的个数次。
注意:负数要乘以个0xffffffff
知识点:
整数12的二进制表示为1100,将其减一变为1011,将得到的结果和原树进行按位与,得到1000。
把一个整数减去1之后再和原来的整数做按位与,得到的结果相当于是把整数的二进制表示中最右边的一个1变成0,按照这个规律进行遍历,则函数的循环次数为二进制中一的个数次。
注意:负数要乘以个0xffffffff