Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
9-83841
Supreme
2002-12-28 23:50
2003.06.26
Исходники разных игрушек


3-83857
Oldman
2003-06-02 09:42
2003.06.26
Сеть и Clipper.


1-84110
mao
2003-06-10 17:06
2003.06.26
Помогите свернуть форму


11-84063
GROL
2002-10-01 04:47
2003.06.26
Ошибка при закрытии Windows


14-84525
Fly`
2003-06-06 16:58
2003.06.26
Нужен текстовый редактор




   Наверх