|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вопрос по побитному сдвигу
Добрый день.
Не судите строго, никогда такого не делал, и можно сказать новичок в программировании... У меня вопрос такой: Есть массив с восьми переменных тип byte. Мне нужно считать каждый бит этого массива... вот например: Код:
if (array[0] SHR 7) = 1 then //если первый бит первой переменной массива = 1 begin //что то там делаю end; if (array[3] SHR 5) = 1 then //если третий бит четв. переменной массива = 1 begin //что то там делаю end; Это будет работать, или как можно это правильно описать? Спасибо! уже понял что так не вариант, так я только первый бит считаю... а как остальные.. А если сделать так: Код:
if (array[0] and 1) = 1 then //если первый бит первой переменной массива = 1 (напр. 10101011 and 00000001 = 1) begin //что то там делаю end; if (array[0] SHR 1) = 1 then //если 2 бит 1 переменной массива = 1 (напр. 10101011 SHR 1 = 01010101 and 00000001 = 1) begin //что то там делаю end; if (array[0] SHR 2) = 1 then //если 3 бит 1 переменной массива = 1 (напр. 10101011 SHR 1 = 00101010 and 00000001 = 0) begin //что то там делаю end; и т.д. и т.п. спасибо всем, работает))) Последний раз редактировалось M.A.D.M.A.N., 11.02.2015 в 16:45. |
#2
|
||||
|
||||
Используй TBits.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |