Re[2]: как узнать номер n-го установленного (1) бита внутри
От: ilnar Россия  
Дата: 28.04.03 12:17
Оценка:
Здравствуйте, Baggy, Вы писали:

B>Здравствуйте, ilnar, Вы писали:


I>сабж.

I>как узнать номер n-го установленного (1) бита внутри long?
I>не ли какой-либо команды процессора или какой-нибудь код для С/С++

B>я бы организовал цикл по маске выделения,

B>что то в духе

B>
B>unsigned long temp = 0;

B>for (int i = 0; i< 32; i++)
B>{
B>    // проверяешь установлен ли i-й бит в 1...
B>    if ((your_long & temp) >> i) == 1)
B>    {
B>        // какая то обработка...
B>    }

B>    //переходим к след биту
B>    temp = temp << 1;
B>}
B>


так очень долго и весь смысл кодирования потеряется
кстати, есть команда ror процессора (в кипе с циклом получим что надо), так быстрее будет, но хочется вот что-то хитрое сделать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.