Удаление младшего разряда

Учитывая двоичное число, какой самый быстрый способ удаления бита самого низкого порядка?

01001001010 -> 01001001000

Он будет использоваться в коде для перебора битов переменной. Псевдокод следует.

while(bits != 0){
  index = getIndexOfLowestOrderBit(bits);
  doSomething(index);
  removeLowestOrderBit(bits);
}

Возможные языки яЯ рассматриваю использование C и Java.

Ответы на вопрос(7)

Ваш ответ на вопрос