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