Re[3]: Задачка на С
От: Demon Россия  
Дата: 21.05.04 10:11
Оценка:
Здравствуйте, Wermut, Вы писали:

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


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


W>>>Как за 2 операции сбросить младший значащий бит в байте?


D>>
D>>   BYTE b;
D>>   b = (b-1) & b;
D>>



W>Младший значащий бит — это самый младший бит из всех не равных нулю, так что ваш пример не подходит для b == 2;


Из 2 (00000010) должно получиться 0 (00000000). Так?

    b  = 2;      // b  == 2 (00000010)
    b1 = b - 1;  // b1 == 1 (00000001)
    b  = b1 & b; // b  == 0 (00000010 & 00000001 == 00000000)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.