Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Битовые флаги   Найти похожие ветки 

 
Sliski Slimak   (2003-06-14 01:12) [0]

Господа, как определить из суммы битовых флагов, какие флаги установлены?
Ну, например:
const
BF_1=2;
BF_2=4;
BF_3=8;
BF_4=16;
.....
..........
x:=BF_1 or BF_3;

а как теперь-то определить, какие флаги установлены?


 
Metal Knight ©   (2003-06-14 01:43) [1]

if (x AND BF_1) then ...


 
Sliski Slimak   (2003-06-14 11:40) [2]

Покорнейше благодарю!


 
Sliski Slimak   (2003-06-14 13:12) [3]

Но увы, вышеприведённый вариант НЕ работает.......
Может, кто-нибудь ещё подскажет?


 
panov ©   (2003-06-14 15:55) [4]

В форуме "Потрепаться" есть тема "Уроки Ю.Зотова"
Думаю, что надо бы с этого начать.

Правльно так:
if (x AND BF_1)= BF_1 then ...


 
Юрий Зотов ©   (2003-06-14 17:31) [5]

> Sliski Slimak

Советую заглянуть сюда:
http://www.baseprogram.narod.ru/index.htm


 
HolyGlory   (2003-06-14 17:43) [6]


> В форуме "Потрепаться" есть тема "Уроки Ю.Зотова"
> Думаю, что надо бы с этого начать.
>
> Правльно так:
> if (x AND BF_1)= BF_1 then ...

Правильней так: if (x and BF_1)<>0 then...
(В первом случае будет cmp eax, BF_1 во втором or eax,eax (или test eax,eax)). Последняя занимет меньше места и декодируется за один такт :)



 
Юрий Зотов ©   (2003-06-14 18:58) [7]

Еще вариант:
if Boolean(x and BF_1) then...



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-84160
Неплохой человек
2003-06-11 15:45
2003.06.26
Загрузка строк в объект типа TStringList - непонятные глюки


3-83881
Nick-From
2003-06-02 17:06
2003.06.26
Народ, в MySql индекс по первичным ключам сам создается


3-83969
NewD
2003-05-29 08:51
2003.06.26
Как избавиться от слова (Memo) и добавить кнопку.


4-84853
EK
2003-04-26 22:08
2003.06.26
Полупрозрачность


14-84514
Leonid
2003-06-03 13:19
2003.06.26
Надо решить пару задач на Delphi - 10$