问题
这个算法在做什么?0x01 代表什么?内部 while 循环中的 m = m >> 1 是什么意思?这个算法 big-O 是什么?
while(n>0)
{
m = n;
while(m)
{
if(m & 0x01)
{
c++;
}
m = m >> 1;
}
}
试图
通过查看@算法,我了解到 m 右移了一个位置。
(例如,如果 m = 1010,m >> 1 = 0101。正确吗?)因为有一个嵌套的while循环,而且因为每个while迭代n次,我猜这个算法是O(n^2)。那是对的吗?