Показать сообщение отдельно
  #1  
Старый 11.02.2015, 13:21
avis_rara avis_rara вне форума
Прохожий
 
Регистрация: 01.07.2014
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Вопрос по побитному сдвигу

Добрый день.
Не судите строго, никогда такого не делал, и можно сказать новичок в программировании...
У меня вопрос такой:
Есть массив с восьми переменных тип 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;
MAD: читаем правила по оформлению кода.

и т.д. и т.п.

спасибо всем, работает)))