Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.027 c
1-84370
kasper
2003-06-16 14:41
2003.06.26
Как вставить строку в файл!!!!!!!!


1-84303
Chainik
2003-06-15 14:02
2003.06.26
OnMouseMove


1-84330
Shluz
2003-06-15 20:17
2003.06.26
Clipboard Viewer


1-84193
yaJohn
2003-06-11 17:52
2003.06.26
Нужно получать Idle сообщения


6-84509
FZ*XupypG
2003-04-20 08:53
2003.06.26
Доступ к папке с паролем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский