Рубрики

ВОРОТА | GATE-CS-2014- (Set-2) | Вопрос 20

Рассмотрим функцию func, показанную ниже:

int func(int num)

{

    int count = 0;

    while (num)

    {

        count++;

        num >>= 1;

    }

    return (count);

}

Значение, возвращаемое функцией (435): __________.

(А) 8
(Б) 9
(С) 10
(D) 11

Ответ: (Б)
Объяснение: Функция в основном возвращает позицию старшего значащего бита в двоичном представлении n. MSD в двоичном представлении 435 является 9-ым битом.

Другое объяснение:
>> В правую смену. Другими словами, это означает делить на 2.
Если продолжить деление на 2, мы получим: 435, 217, 108, 54, 27, 13, 6, 3, 1.
Таким образом, количество составляет 9.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2014- (Set-2) | Вопрос 20

0.00 (0%) 0 votes