考虑如下所示的函数func:
int func(int num)
{
int count = 0;
while (num)
{
count++;
num >>= 1;
}
return (count);
}
func(435) 返回的值为 __________。
(一) 8
(乙) 9
(三) 10
(四) 11答案:(乙)
说明:该函数主要返回n的二进制表示中最高位的位置。 435 的二进制表示形式的 MSD 是第 9 位。
另一种解释:
>> 右移。换句话说,这意味着除以 2。
如果继续除以 2,我们得到:435, 217, 108, 54, 27, 13, 6, 3, 1。
因此,计数为 9。
这个问题的测验