![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как разложить byte на биты [D7, XP]
ArhangelX © (2006-03-12 11:50:00)Помогите пожалуста разложить переменную типа byte на биты!!
Очнь нужно!!
Defunct (2006-03-14 07:16:00) [1]Плохиш © (13.03.06 10:55) [6]
Конкретно на тот вопрос, с учетом года - сработало бы..
Плохиш (2006-03-13 10:55:00) [2]
> только сработает это дело только на Intel'е.
Давно уже не сработает.
Defunct (2006-03-13 03:47:00) [3]Побродил по ссылкам АП, навеяло мысли, ответ на один из тамошних перлов насчет подвешивания будет: "F0 0F C7 C8" только сработает это дело только на Intel'е.
Германн (2006-03-13 02:54:00) [4]Имхо, Anatoly Podgoretsky © (12.03.06 11:51) [1] дал хороший урок для "начинающих"
Но есть ещё один вариант работы с битами - множества. Иногда, а для меня - очень часто, этот вариант наилучший!
tesseract (2006-03-12 13:09:00) [5]Так прошлое в архиве. Рекомендую посмотреть в архивах форумов - там найдёшь много всякого.
Пример
// значение номер бита
function GetBit(value,bitno: integer): WordBool;
begin
result:=false;
if bitno>32 then exit;
if odd(value shr (bitno-1)) then result:=true else result:=false;
end;
grisme (2006-03-12 12:23:00) [6]если нужно просто смотреть состояние определенного бита в байте, AND'и его на 2-е число с 1-ей в разряде, с номером бита который надо узнать. и проверяй если результат 0, то и бит=0, если ""число с 1-ей в разряде, с номером бита который надо узнать"" :), то соответственно 1!:) Удачи.
Anatoly Podgoretsky (2006-03-12 11:51:00) [7]http://podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Delphi/Podgoretsky/bits.html&file_id=app-bits