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

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


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


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


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


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



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


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


D>
D>    b  = 2;      // b  == 2 (00000010)
D>    b1 = b - 1;  // b1 == 1 (00000001)
D>    b  = b1 & b; // b  == 0 (00000010 & 00000001 == 00000000)
D>


да , дейставительно.

Прошу меня извинить за поспешный ответ.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.