📜  门| GATE-CS-2014-(Set-2) |问题 20

📅  最后修改于: 2021-09-26 04:08:25             🧑  作者: Mango

考虑如下所示的函数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。
这个问题的测验