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

📅  最后修改于: 2021-06-29 18:46:37             🧑  作者: Mango

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