2014-11-08 3 views
0

Если у меня задано целое число 584 091 081, то какой самый эффективный способ подсчитать количество единиц из данного смещения n.Самый эффективный способ подсчета числа 1 с определенного смещения

Таким образом, для примера номера, учитывая смещение = 6 первой пару бит 11001001.

Так что я хотел бы ответ 0. Поскольку после 6 бит приходят 1.

Если же мы увидел 100001001, тогда ожидаемый ответ был бы 2, потому что перед очередным двумя нулями.

+1

Не могли бы вы объяснить более четко? –

+0

Также, как это относится к scala конкретно? Или вам нужно решение явно в scala? –

ответ

3

Вы хотите

java.lang.Integer.numberOfTrailingZeros(x >>> offset) 

(или (offset - 1), если считать от 1 вместо 0).

Смежные вопросы