Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Как работать с битами

Есть два способа.

Низкоуровневый подход обеспечивается логическими операциями :


 var
   I : integer;
   N : integer;                       // Номер бита в диапазоне от 0..SizeOf(TYPE)*8 - 1
 begin
   I := I or (1 shl N);               // установка бита
   I := I and not (1 shl N);          // сброс бита
   I := I xor (1 shl N);              // инверсия бита
   if (i and (1 shl N)) <> 0 then...  // проверка установленного бита
 end;
 

Высокоуровневый подход опирается на представление числа в виде множества:


 type
   TIntegerSet = set of 0..SizeOf(Integer)*8 - 1;
 var
   I : Integer;
   N : Integer;
 begin
   Include(TIntegerSet(I), N);     // установили N-ный бит в 1
   Exclude(TIntegerSet(I), N);     // сбросили N-ный бит в 0
   if N in TIntegerSet(I) then...  // проверили N-ный бит
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS